[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56CFB916.5010403@rock-chips.com>
Date: Fri, 26 Feb 2016 10:31:50 +0800
From: "Huang, Tao" <huangtao@...k-chips.com>
To: Mark Brown <broonie@...nel.org>
Cc: Huibin Hong <huibin.hong@...k-chips.com>,
linux-kernel@...r.kernel.org, linux-spi@...r.kernel.org,
"shawn.lin" <shawn.lin@...nel-upstream.org>,
linux-rockchip@...ts.infradead.org,
Addy Ke <addy.ke@...k-chips.com>
Subject: Re: [PATCH] spi/rockchip: Make sure spi clk is on in
rockchip_spi_set_cs
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
Powered by blists - more mailing lists