<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/bus/mhi, branch linux-5.18.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.18.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.18.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-07-29T15:27:57Z</updated>
<entry>
<title>bus: mhi: host: pci_generic: add Telit FN990</title>
<updated>2022-07-29T15:27:57Z</updated>
<author>
<name>Daniele Palmas</name>
</author>
<published>2022-05-02T11:20:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5820c05abfc6788c0b15353bff029a6e6f01768b'/>
<id>urn:sha1:5820c05abfc6788c0b15353bff029a6e6f01768b</id>
<content type='text'>
commit 77fc41204734042861210b9d05338c9b8360affb upstream.

Add Telit FN990:

01:00.0 Unassigned class [ff00]: Qualcomm Device 0308
        Subsystem: Device 1c5d:2010

Signed-off-by: Daniele Palmas &lt;dnlplm@gmail.com&gt;
Reviewed-by: Manivannan Sadhasivam &lt;mani@kernel.org&gt;
Link: https://lore.kernel.org/r/20220502112036.443618-1-dnlplm@gmail.com
[mani: Added "host" to the subject]
Signed-off-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;
Signed-off-by: Fabio Porcedda &lt;fabio.porcedda@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bus: mhi: host: pci_generic: add Telit FN980 v1 hardware revision</title>
<updated>2022-07-29T15:27:56Z</updated>
<author>
<name>Daniele Palmas</name>
</author>
<published>2022-04-27T07:26:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7b2ce7c02da8390495e367ee462c2d8577f3ff2b'/>
<id>urn:sha1:7b2ce7c02da8390495e367ee462c2d8577f3ff2b</id>
<content type='text'>
commit a96ef8b504efb2ad445dfb6d54f9488c3ddf23d2 upstream.

Add Telit FN980 v1 hardware revision:

01:00.0 Unassigned class [ff00]: Qualcomm Device [17cb:0306]
        Subsystem: Device [1c5d:2000]

Signed-off-by: Daniele Palmas &lt;dnlplm@gmail.com&gt;
Reviewed-by: Manivannan Sadhasivam &lt;mani@kernel.org&gt;
Link: https://lore.kernel.org/r/20220427072648.17635-1-dnlplm@gmail.com
[mani: Added "host" to the subject]
Signed-off-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;
Signed-off-by: Fabio Porcedda &lt;fabio.porcedda@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bus: mhi: host: pci_generic: Flush recovery worker during freeze</title>
<updated>2022-04-13T07:41:19Z</updated>
<author>
<name>Manivannan Sadhasivam</name>
</author>
<published>2022-04-08T15:00:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c38f83bae4037023827c85e045841d0421f85034'/>
<id>urn:sha1:c38f83bae4037023827c85e045841d0421f85034</id>
<content type='text'>
It is possible that the recovery work might be running while the freeze
gets executed (during hibernation etc.,). Currently, we don't powerdown
the stack if it is not up but if the recovery work completes after freeze,
then the device will be up afterwards. This will not be a sane situation.

So let's flush the recovery worker before trying to powerdown the device.

Cc: stable@vger.kernel.org
Fixes: 5f0c2ee1fe8d ("bus: mhi: pci-generic: Fix hibernation")
Reported-by: Bhaumik Vasav Bhatt &lt;quic_bbhatt@quicinc.com&gt;
Reviewed-by: Bhaumik Vasav Bhatt &lt;quic_bbhatt@quicinc.com&gt;
Link: https://lore.kernel.org/r/20220408150039.17297-1-manivannan.sadhasivam@linaro.org
Signed-off-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;
</content>
</entry>
<entry>
<title>bus: mhi: host: pci_generic: Add missing poweroff() PM callback</title>
<updated>2022-04-13T07:41:11Z</updated>
<author>
<name>Manivannan Sadhasivam</name>
</author>
<published>2022-04-05T12:59:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e64d5fa5044f225ac87d96a7e4be11389999c4c6'/>
<id>urn:sha1:e64d5fa5044f225ac87d96a7e4be11389999c4c6</id>
<content type='text'>
During hibernation process, once thaw() stage completes, the MHI endpoint
devices will be in M0 state post recovery. After that, the devices will be
powered down so that the system can enter the target sleep state. During
this stage, the PCI core will put the devices in D3hot. But this transition
is allowed by the MHI spec. The devices can only enter D3hot when it is in
M3 state.

So for fixing this issue, let's add the poweroff() callback that will get
executed before putting the system in target sleep state during
hibernation. This callback will power down the device properly so that it
could be restored during restore() or thaw() stage.

Cc: stable@vger.kernel.org
Fixes: 5f0c2ee1fe8d ("bus: mhi: pci-generic: Fix hibernation")
Reported-by: Hemant Kumar &lt;quic_hemantk@quicinc.com&gt;
Suggested-by: Hemant Kumar &lt;quic_hemantk@quicinc.com&gt;
Link: https://lore.kernel.org/r/20220405125907.5644-1-manivannan.sadhasivam@linaro.org
Signed-off-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;
</content>
</entry>
<entry>
<title>bus: mhi: Make mhi_state_str[] array static inline and move to common.h</title>
<updated>2022-03-18T13:02:55Z</updated>
<author>
<name>Manivannan Sadhasivam</name>
</author>
<published>2022-03-01T16:03:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3a1b8e281a2693c286f7dbaa57f6291e0d032c0c'/>
<id>urn:sha1:3a1b8e281a2693c286f7dbaa57f6291e0d032c0c</id>
<content type='text'>
mhi_state_str[] array could be used by MHI endpoint stack also. So let's
make the array as "static inline function" and move it inside the
"common.h" header so that the endpoint stack could also make use of it.

Reviewed-by: Hemant Kumar &lt;hemantk@codeaurora.org&gt;
Reviewed-by: Alex Elder &lt;elder@linaro.org&gt;
Signed-off-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;
Link: https://lore.kernel.org/r/20220301160308.107452-11-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bus: mhi: Move common MHI definitions out of host directory</title>
<updated>2022-03-18T13:02:55Z</updated>
<author>
<name>Manivannan Sadhasivam</name>
</author>
<published>2022-03-01T16:03:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8485149c7a84bbe9d2646b1d6b465d34dbf7ee02'/>
<id>urn:sha1:8485149c7a84bbe9d2646b1d6b465d34dbf7ee02</id>
<content type='text'>
Move the common MHI definitions in host "internal.h" to "common.h" so
that the endpoint code can make use of them. This also avoids
duplicating the definitions in the endpoint stack.

Reviewed-by: Hemant Kumar &lt;hemantk@codeaurora.org&gt;
Reviewed-by: Alex Elder &lt;elder@linaro.org&gt;
Signed-off-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;
Link: https://lore.kernel.org/r/20220301160308.107452-10-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bus: mhi: host: Rename "struct mhi_tre" to "struct mhi_ring_element"</title>
<updated>2022-03-18T13:02:55Z</updated>
<author>
<name>Manivannan Sadhasivam</name>
</author>
<published>2022-03-01T16:03:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=84f5f31f110e5e8cd5581e8efdbf8c369e962eb9'/>
<id>urn:sha1:84f5f31f110e5e8cd5581e8efdbf8c369e962eb9</id>
<content type='text'>
Structure "struct mhi_tre" is representing a generic MHI ring element and
not specifically a Transfer Ring Element (TRE). Fix the naming.

Reviewed-by: Alex Elder &lt;elder@linaro.org&gt;
Signed-off-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;
Link: https://lore.kernel.org/r/20220301160308.107452-9-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bus: mhi: Cleanup the register definitions used in headers</title>
<updated>2022-03-18T13:02:54Z</updated>
<author>
<name>Manivannan Sadhasivam</name>
</author>
<published>2022-03-01T16:03:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=792ba3218441c67ca91b094fed49fef4e6cf8b70'/>
<id>urn:sha1:792ba3218441c67ca91b094fed49fef4e6cf8b70</id>
<content type='text'>
Cleanup includes:

1. Using the GENMASK macro for masks
2. Removing brackets for single values
3. Using lowercase for hex values
4. Using two digits for hex values where applicable
5. Aligning the defines on same column

Reviewed-by: Hemant Kumar &lt;hemantk@codeaurora.org&gt;
Reviewed-by: Alex Elder &lt;elder@linaro.org&gt;
Signed-off-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;
Link: https://lore.kernel.org/r/20220301160308.107452-8-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bus: mhi: Use bitfield operations for handling DWORDs of ring elements</title>
<updated>2022-03-18T13:02:54Z</updated>
<author>
<name>Manivannan Sadhasivam</name>
</author>
<published>2022-03-01T16:03:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ba1d2b86b6a69e3bd7b8578faa5a325d9a91c2ef'/>
<id>urn:sha1:ba1d2b86b6a69e3bd7b8578faa5a325d9a91c2ef</id>
<content type='text'>
Instead of using the hardcoded bits in DWORD definitions, let's use the
bitfield operations to make it more clear how the DWORDs are structured.

Suggested-by: Alex Elder &lt;elder@linaro.org&gt;
Reviewed-by: Alex Elder &lt;elder@linaro.org&gt;
Signed-off-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;
Link: https://lore.kernel.org/r/20220301160308.107452-7-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bus: mhi: Use bitfield operations for register read and write</title>
<updated>2022-03-18T13:02:54Z</updated>
<author>
<name>Manivannan Sadhasivam</name>
</author>
<published>2022-03-01T16:03:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d28cab4d4aa06cdb203196cefcd31208a8ccd808'/>
<id>urn:sha1:d28cab4d4aa06cdb203196cefcd31208a8ccd808</id>
<content type='text'>
Functions like mhi_read_reg_field(), mhi_poll_reg_field() and
mhi_write_reg_field() could be modified to not depend on the shift value
passed as an argument. Instead, the bitfield operation could be used to
extract the shift value from the mask itself.

This eliminates the need to define _SHIFT (and _SHFT) macros and
simplifies the code a bit. For shift values those cannot be determined
during build time, "__ffs()" helper is used find the shift value during
runtime.

While at it, let's also get rid of 32-bit masks like CHDBOFF_CHDBOFF_MASK
by doing the full 32-bit register read.

Suggested-by: Alex Elder &lt;elder@linaro.org&gt;
Reviewed-by: Alex Elder &lt;elder@linaro.org&gt;
Signed-off-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@linaro.org&gt;
Link: https://lore.kernel.org/r/20220301160308.107452-6-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
