lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e845e0fa-846c-4f26-9d8c-79eccae72cc2@linaro.org>
Date: Mon, 29 Jan 2024 15:08:53 +0100
From: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
To: André Draszik <andre.draszik@...aro.org>,
 peter.griffin@...aro.org, mturquette@...libre.com, sboyd@...nel.org,
 robh+dt@...nel.org, krzysztof.kozlowski+dt@...aro.org, conor+dt@...nel.org
Cc: linux-kernel@...r.kernel.org, kernel-team@...roid.com,
 tudor.ambarus@...aro.org, willmcvicker@...gle.com,
 semen.protsenko@...aro.org, alim.akhtar@...sung.com, s.nawrocki@...sung.com,
 tomasz.figa@...il.com, cw00.choi@...sung.com,
 linux-arm-kernel@...ts.infradead.org, linux-samsung-soc@...r.kernel.org,
 linux-clk@...r.kernel.org, devicetree@...r.kernel.org
Subject: Re: [PATCH 9/9] clk: samsung: gs101: don't CLK_IGNORE_UNUSED
 peric1_sysreg clock

On 29/01/2024 14:47, André Draszik wrote:
> Hi Krzysztof,
> 
> On Mon, 2024-01-29 at 12:03 +0100, Krzysztof Kozlowski wrote:
>> On 27/01/2024 01:19, André Draszik wrote:
>>> Now that we have hooked it up in the DTS, we can drop the
>>
>> Your driver patch cannot depend on DTS. Not for a new platform. I am
>> repeating this all the time last days...
>>
>>> CLK_IGNORE_UNUSED from here.
>>>
>>> Signed-off-by: André Draszik <andre.draszik@...aro.org>
>>> ---
>>>  drivers/clk/samsung/clk-gs101.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/clk/samsung/clk-gs101.c b/drivers/clk/samsung/clk-gs101.c
>>> index 7f6c3b52d9ff..d55ed64d0e29 100644
>>> --- a/drivers/clk/samsung/clk-gs101.c
>>> +++ b/drivers/clk/samsung/clk-gs101.c
>>> @@ -3393,7 +3393,7 @@ static const struct samsung_gate_clock peric1_gate_clks[] __initconst = {
>>>  	GATE(CLK_GOUT_PERIC1_SYSREG_PERIC1_PCLK,
>>>  	     "gout_peric1_sysreg_peric1_pclk", "mout_peric1_bus_user",
>>>  	     CLK_CON_GAT_GOUT_BLK_PERIC1_UID_SYSREG_PERIC1_IPCLKPORT_PCLK,
>>> -	     21, CLK_IGNORE_UNUSED, 0),
>>
>> I don't understand. You just added this clock in this patchset. This
>> means that your patch #3 is incorrect.
> 
> In patch #3 I'm hooking up all the clocks to Linux. If I don't CLK_IGNORE_UNUSED
> for the 'sysreg' pclk in patch #3, then it'll hang on loading drivers that
> require sysreg access (because Linux disabled the clock).

Then add clk_ignore_unused to cmdline. That's anyway recommended for
development platforms without full clock and pd description
(pd_ignore_unused). Not mentioning that we might default to
clk_ignore_unused at some point soon.

> 
> I can not change patch #8 to come between 2 and 3 either, because at that stage
> neither the clock nor the DT node reference &cmu_peric1 actually exist, and the
> clock and can't be claimed by sysreg.

At the point of me applying this patch, there will be no DTS node
either. This ordering fixes nothing.

> 
> Since we can not mix DT and driver changes in the same commit, I can not merge
> patches #3 and #4 and #8 either.
> 
> I had to do it this way so that the platform always boots for every commit to keep
> things bisectable.

But it is not bisectable - you did not fix anything. You can try by
yourself:
# git checkout drivers
# git am patch #1, #2, #3 and #9
# git checkout dt
# git am patch #4, #5, #6, #7, #8

and now try to bisect it. You will have the same problems you try to
avoid. So what is solved by this ordering? Nothing.


> 
> Alternatively, I could merge patches #4 and #8 (but that seems wrong to me), or
> drop patches #7, #8 and #9 from this series and apply it later in the -rc phase?

Probably the mistake was done in the way how you upstream things: adding
sysreg syscon without its clocks.

Additionally:
1. Disabling unused clocks is current OS policy, so why the policy
should affect DTS and driver ordering?
2. This is platform did not receive a release kernel, so glitches are okay.

For this case #9 must be squashed with #3. #4 with #9.

> 
> 
> Is there a better way that you have in mind that we're missing, that keeps things
> atomic and bootable/bisectable? 


Best regards,
Krzysztof


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ