Skip to content

Commit 3521fa6

Browse files
jhnikulaalexandrebelloni
authored andcommitted
i3c: mipi-i3c-hci: Resume controller explicitly
On an HW I'm using in enabling work the RESUME bit is not set in the HC_CONTROLLER register when Host Controller goes to halt state. Value 1 should mean controller is suspended when reading and writing 1 resumes it. Because of this erratic behaviour plain HC_CONTROL read and write back won't resume the controller. Therefore do it by setting the RESUME bit explicitly. Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Link: https://lore.kernel.org/r/20230921055704.1087277-12-jarkko.nikula@linux.intel.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
1 parent 4c36f65 commit 3521fa6

1 file changed

Lines changed: 1 addition & 2 deletions

File tree

  • drivers/i3c/master/mipi-i3c-hci

drivers/i3c/master/mipi-i3c-hci/core.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,7 @@ static void i3c_hci_bus_cleanup(struct i3c_master_controller *m)
174174

175175
void mipi_i3c_hci_resume(struct i3c_hci *hci)
176176
{
177-
/* the HC_CONTROL_RESUME bit is R/W1C so just read and write back */
178-
reg_write(HC_CONTROL, reg_read(HC_CONTROL));
177+
reg_set(HC_CONTROL, HC_CONTROL_RESUME);
179178
}
180179

181180
/* located here rather than pio.c because needed bits are in core reg space */

0 commit comments

Comments
 (0)