RE: [RFC PATCH] drivers: ata: Read Rx water mark value from device-tree

From: Anurag Kumar Vulisha
Date: Mon Feb 22 2016 - 06:08:08 EST


Hi Arnd,

> -----Original Message-----
> From: Arnd Bergmann [mailto:arnd@xxxxxxxx]
> Sent: Sunday, February 21, 2016 4:05 AM
> To: Anurag Kumar Vulisha
> Cc: robh+dt@xxxxxxxxxx; pawel.moll@xxxxxxx; mark.rutland@xxxxxxx;
> ijc+devicetree@xxxxxxxxxxxxxx; galak@xxxxxxxxxxxxxx; tj@xxxxxxxxxx;
> devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux-
> ide@xxxxxxxxxxxxxxx; Anirudha Sarangi; Srikanth Vemula; Punnaiah Choudary
> Kalluri; Anurag Kumar Vulisha
> Subject: Re: [RFC PATCH] drivers: ata: Read Rx water mark value from device-
> tree
>
> On Saturday 20 February 2016 18:48:22 Anurag Kumar Vulisha wrote:
> > index 7ca8b97..7e48dfc 100644
> > --- a/Documentation/devicetree/bindings/ata/ahci-ceva.txt
> > +++ b/Documentation/devicetree/bindings/ata/ahci-ceva.txt
> > @@ -8,6 +8,7 @@ Required properties:
> >
> > Optional properties:
> > - ceva,broken-gen2: limit to gen1 speed instead of gen2.
> > + - ceva,rx-watermark: RX fifo water mark level for SATA controller.
> >
> > Examples:
> > ahci@fd0c0000 {
> > @@ -17,4 +18,5 @@ Examples:
> > interrupts = <0 133 4>;
> > clocks = <&clkc SATA_CLK_ID>;
> > ceva,broken-gen2;
> > + ceva,rx-watermark = <0x40>;
> > };
> >
>
> How would a hardware integrator know which value is right for a particular
> SoC?
>
> Could it be keyed off the hardware ID? Could the bootloader perhaps set an
> appropriate value in the AHCI_VEND_PTC register at boot time and the driver
> read the initial value from it?
>
> From the description, it sounds like this is a policy decision rather than
> hardware description, and shouldn't really be in here.
>

Thanks for reviewing the patch. Can I use module_param() for this watermark instead of reading it from devicetree or
doing it in bootloader. In bootloader we are initializing serdes controller for high speed devices. As a part of this initialization
we will be reseting all the high speed pheripherals which are using serdes, so SATA will also get resetted. Because of this
reason, can I use module_param() for Rxwatermark value instead?

Thanks,
Anurag Kumar V

> Arnd