<feed xmlns='http://www.w3.org/2005/Atom'>
<title>blackbird-op-linux/drivers/misc/habanalabs/command_submission.c, branch master</title>
<subtitle>Blackbird™ Linux sources for OpenPOWER</subtitle>
<id>https://git.raptorcs.com/git/blackbird-op-linux/atom?h=master</id>
<link rel='self' href='https://git.raptorcs.com/git/blackbird-op-linux/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/'/>
<updated>2019-12-14T13:12:21+00:00</updated>
<entry>
<title>habanalabs: rate limit error msg on waiting for CS</title>
<updated>2019-12-14T13:12:21+00:00</updated>
<author>
<name>Oded Gabbay</name>
<email>oded.gabbay@gmail.com</email>
</author>
<published>2019-12-03T08:12:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=018e0e3594f7dcd029d258e368c485e742fa9cdb'/>
<id>urn:sha1:018e0e3594f7dcd029d258e368c485e742fa9cdb</id>
<content type='text'>
In case a user submits a CS, and the submission fails, and the user doesn't
check the return value and instead use the error return value as a valid
sequence number of a CS and ask to wait on it, the driver will print an
error and return an error code for that wait.

The real problem happens if now the user ignores the error of the wait, and
try to wait again and again. This can lead to a flood of error messages
from the driver and even soft lockup event.

Signed-off-by: Oded Gabbay &lt;oded.gabbay@gmail.com&gt;
Reviewed-by: Tomer Tayar &lt;ttayar@habana.ai&gt;
</content>
</entry>
<entry>
<title>habanalabs: don't print error when queues are full</title>
<updated>2019-11-21T09:35:45+00:00</updated>
<author>
<name>Oded Gabbay</name>
<email>oded.gabbay@gmail.com</email>
</author>
<published>2019-11-10T16:48:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=eda58bf7860a028f207e8d4201d86191b898bbee'/>
<id>urn:sha1:eda58bf7860a028f207e8d4201d86191b898bbee</id>
<content type='text'>
If the queues are full and we return -EAGAIN to the user, there is no need
to print an error, as that case isn't an error and the user is expected to
re-submit the work.

Signed-off-by: Oded Gabbay &lt;oded.gabbay@gmail.com&gt;
Reviewed-by: Omer Shpigelman &lt;oshpigelman@habana.ai&gt;
</content>
</entry>
<entry>
<title>habanalabs: Add a new H/W queue type</title>
<updated>2019-11-21T09:35:45+00:00</updated>
<author>
<name>Tomer Tayar</name>
<email>ttayar@habana.ai</email>
</author>
<published>2019-10-03T15:22:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=cb596aee8842c87605ea1a9062af2ab435a742d4'/>
<id>urn:sha1:cb596aee8842c87605ea1a9062af2ab435a742d4</id>
<content type='text'>
This patch adds a support for a new H/W queue type.
This type of queue is for DMA and compute engines jobs, for which
completion notification are sent by H/W.
Command buffer for this queue can be created either through the CB
IOCTL and using the retrieved CB handle, or by preparing a buffer on the
host or device SRAM/DRAM, and using the device address to that buffer.
The patch includes the handling of the 2 options, as well as the
initialization of the H/W queue and its jobs scheduling.

Signed-off-by: Tomer Tayar &lt;ttayar@habana.ai&gt;
Reviewed-by: Oded Gabbay &lt;oded.gabbay@gmail.com&gt;
Signed-off-by: Oded Gabbay &lt;oded.gabbay@gmail.com&gt;
</content>
</entry>
<entry>
<title>habanalabs: Mark queue as expecting CB handle or address</title>
<updated>2019-11-21T09:35:45+00:00</updated>
<author>
<name>Tomer Tayar</name>
<email>ttayar@habana.ai</email>
</author>
<published>2019-10-03T15:22:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=df762375f17e1765bc3a0b345378e1726d85ca75'/>
<id>urn:sha1:df762375f17e1765bc3a0b345378e1726d85ca75</id>
<content type='text'>
Jobs on some queues must be provided with a handle to a driver command
buffer object, while for other queues, jobs must be provided with an
address to a command buffer.
Currently the distinction is done based on the queue type, which is less
flexible if the same queue type behaves differently on different
types of ASICs.
This patch adds a new queue property for this target, which is
configured per queue type per ASIC type.

Signed-off-by: Tomer Tayar &lt;ttayar@habana.ai&gt;
Reviewed-by: Oded Gabbay &lt;oded.gabbay@gmail.com&gt;
Signed-off-by: Oded Gabbay &lt;oded.gabbay@gmail.com&gt;
</content>
</entry>
<entry>
<title>habanalabs: stop using the acronym KMD</title>
<updated>2019-09-05T11:55:27+00:00</updated>
<author>
<name>Oded Gabbay</name>
<email>oded.gabbay@gmail.com</email>
</author>
<published>2019-08-30T13:59:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=4c172bbfaa4e1aa26dab58781301902c7b3e4ebc'/>
<id>urn:sha1:4c172bbfaa4e1aa26dab58781301902c7b3e4ebc</id>
<content type='text'>
We want to stop using the acronym KMD. Therefore, replace all locations
(except for register names we can't modify) where KMD is written to other
terms such as "Linux kernel driver" or "Host kernel driver", etc.

Signed-off-by: Oded Gabbay &lt;oded.gabbay@gmail.com&gt;
Reviewed-by: Omer Shpigelman &lt;oshpigelman@habana.ai&gt;
</content>
</entry>
<entry>
<title>habanalabs: add uapi to retrieve device utilization</title>
<updated>2019-09-05T11:55:27+00:00</updated>
<author>
<name>Oded Gabbay</name>
<email>oded.gabbay@gmail.com</email>
</author>
<published>2019-08-28T14:32:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=75b3cb2bb080372d043e8f0c0aeae8f52461136b'/>
<id>urn:sha1:75b3cb2bb080372d043e8f0c0aeae8f52461136b</id>
<content type='text'>
Users and sysadmins usually want to know what is the device utilization as
a level 0 indication if they are efficiently using the device.

Add a new opcode to the INFO IOCTL that will return the device utilization
over the last period of 100-1000ms. The return value is 0-100,
representing as percentage the total utilization rate.

Signed-off-by: Oded Gabbay &lt;oded.gabbay@gmail.com&gt;
Reviewed-by: Omer Shpigelman &lt;oshpigelman@habana.ai&gt;
</content>
</entry>
<entry>
<title>habanalabs: add debug print when rejecting CS</title>
<updated>2019-09-05T11:55:26+00:00</updated>
<author>
<name>Oded Gabbay</name>
<email>oded.gabbay@gmail.com</email>
</author>
<published>2019-07-18T06:03:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=52a1ae115a68272325a327c229f5af44ba324132'/>
<id>urn:sha1:52a1ae115a68272325a327c229f5af44ba324132</id>
<content type='text'>
When rejecting CS because of too many in-flight CS, print a debug message
about it as it useful to know when the user is debugging (it indicates a
back-pressure from the driver as the device is not fast enough to consume
the CS)

Signed-off-by: Oded Gabbay &lt;oded.gabbay@gmail.com&gt;
Reviewed-by: Omer Shpigelman &lt;oshpigelman@habana.ai&gt;
</content>
</entry>
<entry>
<title>habanalabs: fix host memory polling in BE architecture</title>
<updated>2019-07-29T08:40:25+00:00</updated>
<author>
<name>Ben Segal</name>
<email>bpsegal20@gmail.com</email>
</author>
<published>2019-07-18T12:27:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=2aa4e410795cb94b6577fe0e251b5f5226499310'/>
<id>urn:sha1:2aa4e410795cb94b6577fe0e251b5f5226499310</id>
<content type='text'>
This patch fix a bug in the host memory polling macro. The bug is that the
memory being polled can be written by the device, which always writes it
in LE. However, if the host is running Linux in BE mode, we need to
convert the value that was written by the device before matching it to the
required value that the caller has given to the macro.

Signed-off-by: Ben Segal &lt;bpsegal20@gmail.com&gt;
Reviewed-by: Oded Gabbay &lt;oded.gabbay@gmail.com&gt;
Signed-off-by: Oded Gabbay &lt;oded.gabbay@gmail.com&gt;
</content>
</entry>
<entry>
<title>habanalabs: change polling functions to macros</title>
<updated>2019-05-08T22:48:23+00:00</updated>
<author>
<name>Oded Gabbay</name>
<email>oded.gabbay@gmail.com</email>
</author>
<published>2019-05-08T22:48:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=a08b51a9a0f3664bd0d7a18982a35e3f75adc308'/>
<id>urn:sha1:a08b51a9a0f3664bd0d7a18982a35e3f75adc308</id>
<content type='text'>
This patch changes two polling functions to macros, in order to make their
API the same as the standard readl_poll_timeout so we would be able to
define the "condition for exit" when calling these macros.

This will simplify the code as it will eliminate the need to check both
for timeout and for the (cond) in the calling function.

Signed-off-by: Oded Gabbay &lt;oded.gabbay@gmail.com&gt;
</content>
</entry>
<entry>
<title>habanalabs: remove redundant member from parser struct</title>
<updated>2019-05-01T10:16:18+00:00</updated>
<author>
<name>Dalit Ben Zoor</name>
<email>dbenzoor@habana.ai</email>
</author>
<published>2019-05-01T10:16:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/blackbird-op-linux/commit/?id=5809e18e028218c006011dbbfe30429eaf4bb29b'/>
<id>urn:sha1:5809e18e028218c006011dbbfe30429eaf4bb29b</id>
<content type='text'>
use_virt_addr member was used for telling whether to treat the
addresses in the CB as virtual during parsing. We disabled it only
when calling the parser from the driver memset device function,
and since this call had been removed, it should always be enabled.

Signed-off-by: Dalit Ben Zoor &lt;dbenzoor@habana.ai&gt;
Signed-off-by: Oded Gabbay &lt;oded.gabbay@gmail.com&gt;
</content>
</entry>
</feed>
