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] [day] [month] [year] [list]
Message-ID: <52DF813C.6080807@redhat.com>
Date:	Wed, 22 Jan 2014 09:28:44 +0100
From:	Hans de Goede <hdegoede@...hat.com>
To:	Roger Quadros <rogerq@...com>, tj@...nel.org, kishon@...com
CC:	sergei.shtylyov@...entembedded.com, b.zolnierkie@...sung.com,
	arnd@...db.de, linux-ide@...r.kernel.org,
	linux-kernel@...r.kernel.org, devicetree@...r.kernel.org
Subject: Re: [PATCH v5 0/4] ata: ahci_platform: Add PHY support and OMAP support

Hi,

On 01/22/2014 09:11 AM, Roger Quadros wrote:
> Hi,
>
> On 01/21/2014 03:59 PM, Hans de Goede wrote:
>> Hi,
>>
>> On 01/21/2014 12:59 PM, Roger Quadros wrote:
>>> On 01/21/2014 10:34 AM, Roger Quadros wrote:
>>>> On 01/20/2014 06:48 PM, Hans de Goede wrote:
>>>>> Hi,
>>>>>
>>>>> On 01/20/2014 03:41 PM, Roger Quadros wrote:
>>>>>> Hi,
>>>>>>
>>>>>> Some platforms have a PHY hooked up to the SATA controller.
>>>>>> The PHY needs to be initialized and powered up for SATA to work.
>>>>>> We do that using the Generic PHY framework in PATCH 3.
>>>>>>
>>>>>> In order to support SATA on the OMAP platforms we need to runtime
>>>>>> resume the device before use. PATCH 4 takes care of that.
>>>>>
>>>>> Thanks for keeping me in the loop on this. I'm afraid this conflicts
>>>>> quite a bit with my recent ahci_platform.c work, not a big problem
>>>>> really, the series can go in either way.
>>>>>
>>>>> Your phy support will slot nicely into the new ahci_platform_get_resources
>>>>> and ahci_platform_enable_resources functions my refactoring introduces,
>>>>> looking at it from this pov it might be better / easier to rebase your series
>>>>> on top of the v4 of my series I've just send.
>>>>>
>>>>> Which brings me to one comment about your series why are you not doing phy_exit
>>>>> and phy_init on suspend resp. resume ? The phy can use quite a bit of power,
>>>>> if the phy init / exit end up in ahci_platform_enable_resources /
>>>>> ahci_platform_disable_resources, this will happen automatically for better or
>>>>> worse. So it would be good to test if this would work or not ...
>>>>
>>>> Right. Bartlomiej had pointed this out earlier, but I just wasn't very sure about it.
>>>>
>>>> Is it sufficient to just call phy_power_off() in suspend and phy_power_on() in resume?
>>>> Or do we call phy_exit() and phy_init() respectively as well.
>>>>
>>>> Kishon, any suggestions?
>>>
>>> OK. Answering my own question.
>>>
>>> On OMAP platform we power down the phy in phy_power_off() and idle the DPLL in phy_exit(),
>>> so my guess is both should be called in suspend() to save the most power.
>>
>> Right, this would also match nicely with putting both the phy_init and the phy_power_on call
>> in ahci_platform_enable_resources in ahci_platform.c as it looks after v4 of my ahci_platform
>> rework patch-set, see:
>> https://github.com/jwrdegoede/linux-sunxi/blob/sunxi-devel/drivers/ata/ahci_platform.c
>>
>> If this goes there it will be automatically called on both probe and resume (and the counterparts
>> should go to ahci_platform_disable_resources, which will be called on suspend and remove).
>>
>> As said before I don't really have a preference for in which order these patches go upstream,
>> but can you please check that calling phy_poweroff + phy_exit on suspend and undo on resume
>> does not cause issues ?  If it does I need to rethink how things will work after my refactoring,
>> because currently all the clks / optional regulator and now also optional phy get en/disabled in
>> one go through ahci_platform_en/disable_resources.
>
> I too don't have any preference of the upstream path. Maybe i'll repost this series based on your v4 an then you can include them in your series if you like.

As indicated doing things in that order has my preference as rebase-conflict resolution should be a lot
easier that way then the other way around. So if you could do that, that would be great.

> BTW why is your series still RFC at v4?

It was not RFC at v1 and v2, it became RFC at v3 because at that point it included changes which would
also impact ahci_imx, and I did not have hardware to verify those changes. The wandboard I ordered
for this has arrived yesterday, so my next version should not be RFC anymore :)

> As far as OMAP platform is concerned, calling phy_power_off() + phy_exit() shouldn't be a problem for suspend.
> Not sure about other platforms as we can't really know for sure what they do in phy_exit().

Good, after the rework my patch-series does, platforms which need something else can always override
the ahci_platform_disable_resources behavior (by doing that part themselves) while still using other parts
of ahci_platform.c as is, that is the whole idea of the rework.

Thanks & Regards,

Hans
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ