RE: [v2,2/3] ata: ahci_tegra: Add support to disable features

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>-----Original Message-----
>From: Mikko Perttunen [mailto:cyndis@xxxxxxxx]
>Sent: Wednesday, December 21, 2016 3:01 PM
>To: Preetham Chandru; Mikko Perttunen; tj@xxxxxxxxxx;
>swarren@xxxxxxxxxxxxx; thierry.reding@xxxxxxxxx;
>preetham260@xxxxxxxxx
>Cc: Laxman Dewangan; linux-ide@xxxxxxxxxxxxxxx; Venu Byravarasu; Pavan
>Kunapuli; linux-tegra@xxxxxxxxxxxxxxx
>Subject: Re: [v2,2/3] ata: ahci_tegra: Add support to disable features
>
>On 21.12.2016 11:12, Preetham Chandru wrote:
>>
>>
>>> -----Original Message-----
>>> From: Mikko Perttunen
>>> Sent: Monday, November 28, 2016 6:09 PM
>>> To: Preetham Chandru; tj@xxxxxxxxxx; swarren@xxxxxxxxxxxxx;
>>> thierry.reding@xxxxxxxxx; preetham260@xxxxxxxxx
>>> Cc: Laxman Dewangan; linux-ide@xxxxxxxxxxxxxxx; Venu Byravarasu;
>>> Pavan Kunapuli; linux-tegra@xxxxxxxxxxxxxxx
>>> Subject: Re: [v2,2/3] ata: ahci_tegra: Add support to disable
>>> features
>>>
>>> On 24.11.2016 09:43, PREETHAM RAMACHANDRA wrote:
>>>> From: Preetham Chandru R <pchandru@xxxxxxxxxx>
>>>>
>>>> Add support to disable DIPM, HIPM, DevSlp, partial, slumber and NCQ
>>>> features from DT. By default these features are enabled.
>>>>
>>>
>>> Why are these features disabled? Are they broken on all Tegra210
>>> chips, broken on specific boards or do they require some support from
>>> the driver that is not there?
>>>
>>> Most likely we should hardcode the disabled features into the driver
>>> instead of reading them from the device tree.
>>>
>>
>> Yes, currently DevSlp and DIPM features are broken for t210 and t124 but
>devslp is fixed for tegra186.
>>  Also I thought it would be nice to provide similar options for other
>features as well.
>> Since we do not support hotplug this would help us in debugging if we face
>issues with certain drives during kernel boot.
>> We can disable features we think are causing issues and retry.
>
>We should put this data into the soc_data struct in the driver, since it is
>easily determined from just the compatibility string; for example
>
>struct tegra_ahci_soc {
>	...
>	uint32_t quirks;
>};
>
>then
>
>.quirks = NO_DEVSLP | NO_DIPM
>
>or the other way around and list the features that we want to enable.
>This is also quite easy to change to test.
>
>The device tree should also only contain information that describes the
>hardware itself, and nothing related to any specific driver's operation; so if
>there's a possibility that some feature is not working due to a driver issue,
>then the device tree definitely should not contain any entry disabling that
>feature.
>
>(The downstream kernel can of course carry such features as patches on top,
>if required for some reason - but naturally it increases maintenance effort)
>

Ok, sounds good to me. Will move it to soc_data structure.

>Thanks,
>Mikko.
��.n��������+%������w��{.n�����{��נ���^n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�

[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux