<feed xmlns='http://www.w3.org/2005/Atom'>
<title>talos-op-linux/drivers/misc/habanalabs, branch master</title>
<subtitle>Talos™ II Linux sources for OpenPOWER</subtitle>
<id>https://git.raptorcs.com/git/talos-op-linux/atom?h=master</id>
<link rel='self' href='https://git.raptorcs.com/git/talos-op-linux/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/'/>
<updated>2019-12-14T13:12:21+00:00</updated>
<entry>
<title>habanalabs: remove variable 'val' set but not used</title>
<updated>2019-12-14T13:12:21+00:00</updated>
<author>
<name>Chen Wandun</name>
<email>chenwandun@huawei.com</email>
</author>
<published>2019-12-10T11:06:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=68a1fdf2451f38b4ada0607eb6e1303f8a02e0b7'/>
<id>urn:sha1:68a1fdf2451f38b4ada0607eb6e1303f8a02e0b7</id>
<content type='text'>
Fixes gcc '-Wunused-but-set-variable' warning:

drivers/misc/habanalabs/goya/goya.c: In function goya_pldm_init_cpu:
drivers/misc/habanalabs/goya/goya.c:2195:6: warning: variable val set but not used [-Wunused-but-set-variable]
drivers/misc/habanalabs/goya/goya.c: In function goya_hw_init:
drivers/misc/habanalabs/goya/goya.c:2505:6: warning: variable val set but not used [-Wunused-but-set-variable]

Fixes: 9494a8dd8d22 ("habanalabs: add h/w queues module")
Signed-off-by: Chen Wandun &lt;chenwandun@huawei.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: 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/talos-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: add more protection of device during reset</title>
<updated>2019-11-21T09:35:47+00:00</updated>
<author>
<name>Oded Gabbay</name>
<email>oded.gabbay@gmail.com</email>
</author>
<published>2019-11-18T07:41:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=5feccddcf9922ee3c25587d5e609bf58503ad93e'/>
<id>urn:sha1:5feccddcf9922ee3c25587d5e609bf58503ad93e</id>
<content type='text'>
Prevent accesses to the device (register read/write) from debugfs entries
during reset as that can cause the device to get stuck.

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: flush EQ workers in hard reset</title>
<updated>2019-11-21T09:35:47+00:00</updated>
<author>
<name>Oded Gabbay</name>
<email>oded.gabbay@gmail.com</email>
</author>
<published>2019-11-17T15:41:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=55f6d680970ea922d4ee23d5ac88d3a8046221fb'/>
<id>urn:sha1:55f6d680970ea922d4ee23d5ac88d3a8046221fb</id>
<content type='text'>
During hard-reset, there can be multiple events received from the H/W. For
each event, the driver opens a worker thread to handle it. For some of the
events, the driver will read/write registers in the code that handles the
event.

In case of hard-reset, we must prevent reads/writes to the registers during
the reset operation because the device might get stuck if that happens.

Therefore, flush the EQ workers before resetting the device (in hard-reset
only). Additional events won't arrive as we synced and disabled the
interrupts.

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: make the reset code more consistent</title>
<updated>2019-11-21T09:35:47+00:00</updated>
<author>
<name>Oded Gabbay</name>
<email>oded.gabbay@gmail.com</email>
</author>
<published>2019-11-17T15:35:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=1af69d30c41d0b0f15d8be80c100cefaa909816c'/>
<id>urn:sha1:1af69d30c41d0b0f15d8be80c100cefaa909816c</id>
<content type='text'>
In the hl_device_reset we ask about the hard_reset argument when we want to
differentiate between soft and hard reset, except for three places where
we use "from_hard_reset_thread". Replace one of those locations with the
hard_reset argument as it is guaranteed that if we reached to that
line in the code during hard_reset, it is from a kernel thread.

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: expose reset counters via existing INFO IOCTL</title>
<updated>2019-11-21T09:35:47+00:00</updated>
<author>
<name>Moti Haimovski</name>
<email>mhaimovski@habana.ai</email>
</author>
<published>2019-11-03T14:26:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=52c01b0137193ab0c9282ec8d09c6338446e6e9f'/>
<id>urn:sha1:52c01b0137193ab0c9282ec8d09c6338446e6e9f</id>
<content type='text'>
Expose both soft and hard reset counts via INFO IOCTL.
This will allow system management applications to easily check
if the device has undergone reset.

Signed-off-by: Moti Haimovski &lt;mhaimovski@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: make code more concise</title>
<updated>2019-11-21T09:35:47+00:00</updated>
<author>
<name>Oded Gabbay</name>
<email>oded.gabbay@gmail.com</email>
</author>
<published>2019-11-16T10:29:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=e16ee4103770acf365372886eac7c750017c918e'/>
<id>urn:sha1:e16ee4103770acf365372886eac7c750017c918e</id>
<content type='text'>
Instead of doing if inside if, just write them with &amp;&amp; operator.

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: use defines for F/W files</title>
<updated>2019-11-21T09:35:46+00:00</updated>
<author>
<name>Oded Gabbay</name>
<email>oded.gabbay@gmail.com</email>
</author>
<published>2019-11-16T10:26:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=da1342a0eec038dc466742e662218f6be349d1b7'/>
<id>urn:sha1:da1342a0eec038dc466742e662218f6be349d1b7</id>
<content type='text'>
Make the code more concise and maintainable by using defines for the F/W
files.

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: remove prints on successful device initialization</title>
<updated>2019-11-21T09:35:46+00:00</updated>
<author>
<name>Oded Gabbay</name>
<email>oded.gabbay@gmail.com</email>
</author>
<published>2019-11-16T10:24:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=7fbdc12b91110d21e15b84d5acf8402ae608d8c1'/>
<id>urn:sha1:7fbdc12b91110d21e15b84d5acf8402ae608d8c1</id>
<content type='text'>
Successful device initialization is mentioned in kernel log with the
message "Successfully added device to habanalabs driver". There is no point
of spamming the log with additional messages about successful queue
testing, which are implied by the above mentioned message.

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: remove unnecessary checks</title>
<updated>2019-11-21T09:35:46+00:00</updated>
<author>
<name>Omer Shpigelman</name>
<email>oshpigelman@habana.ai</email>
</author>
<published>2019-11-14T18:23:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-op-linux/commit/?id=e604f551cdce07e45b6ca34eab58648185b3fba0'/>
<id>urn:sha1:e604f551cdce07e45b6ca34eab58648185b3fba0</id>
<content type='text'>
Now that the VA block free list is not updated on context close in order
to optimize this flow, no need in the sanity checks of the list contents
as these will fail for sure.
In addition, remove the "context closing with VA in use" print during hard
reset as this situation is a side effect of the failure that caused the
hard reset.

Signed-off-by: Omer Shpigelman &lt;oshpigelman@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>
</feed>
