Re: [PATCH] spi/rockchip: Make sure spi clk is on in rockchip_spi_set_cs

From: Huang, Tao
Date: Thu Feb 25 2016 - 21:32:09 EST


On 2016å02æ26æ 09:58, Mark Brown wrote:
>
>> Another way to solve this bug is add runtime PM support while spi setup.
>> Some other chips may have some problem, for example mt65xx and orion,
>> which access hardware register too.
>
> No, this is telling you you're doing something wrong - setup() might be
> called while another transfer is in progress so you shouldn't be
> changing the hardware setup (see Documentation/spi/spi-summary). This
> means that you normally shouldn't be writing to registers there. Moving
> this to prepare_message() instead is probably what you want.
>
You misunderstand me. I talk about spi_setup, as
Documentation/spi/spi-summary, which would normally be called from
probe() before the first I/O is done to the device.
spi_setup will call spi_set_cs(spi, false), which introduced with commit
1a7b7ee72c21 ("spi: Ensure that CS line is in non-active state after
spi_setup()"). And spi_set_cs will call spi->master->set_cs, and set_cs
callback will access register. Without clk enable, I believe some
drivers will failed to run.

Best Regards,

Huang, Tao