Hi Uffe,

> -----Original Message-----
> From: Ulf Hansson <[email protected]>
> Sent: Wednesday, June 19, 2019 8:11 PM
> To: Manish Narani <[email protected]>
> Cc: Michal Simek <[email protected]>; Rob Herring <[email protected]>;
> Mark Rutland <[email protected]>; Adrian Hunter
> <[email protected]>; Rajan Vaja <[email protected]>; Jolly Shah
> <[email protected]>; Nava kishore Manne <[email protected]>; Olof
> Johansson <[email protected]>; [email protected]; DTML
> <[email protected]>; Linux Kernel Mailing List <linux-
> [email protected]>; Linux ARM <[email protected]>
> Subject: Re: [PATCH 3/3] mmc: sdhci-of-arasan: Add support for ZynqMP
> Platform Tap Delays Setup
> 
> On Tue, 18 Jun 2019 at 06:59, Manish Narani <[email protected]> wrote:
> >
> > Hi Uffe,
> >
> > Thanks for the review. Please find my comments below.
> >
> > > -----Original Message-----
> > > From: Ulf Hansson <[email protected]>
> > > Sent: Monday, June 17, 2019 8:29 PM
> > > To: Michal Simek <[email protected]>
> > > Cc: Manish Narani <[email protected]>; Rob Herring
> > > <[email protected]>; Mark Rutland <[email protected]>; Adrian
> > > Hunter <[email protected]>; Rajan Vaja <[email protected]>; Jolly
> > > Shah <[email protected]>; Nava kishore Manne <[email protected]>;
> Olof
> > > Johansson <[email protected]>; [email protected]; DTML
> > > <[email protected]>; Linux Kernel Mailing List <linux-
> > > [email protected]>; Linux ARM <linux-arm-
> [email protected]>
> > > Subject: Re: [PATCH 3/3] mmc: sdhci-of-arasan: Add support for ZynqMP
> > > Platform Tap Delays Setup
> > >
> > > [...]
> > >
> > > > >>
> > > > >>
> > > > >>> In regards to the mmc data part, I suggest to drop the
> > > > >>> ->set_tap_delay() callback, but rather use a boolean flag to 
> > > > >>> indicate
> > > > >>> whether clock phases needs to be changed for the variant. 
> > > > >>> Potentially
> > > > >>> that could even be skipped and instead call clk_set_phase()
> > > > >>> unconditionally, as the clock core deals fine with clock providers
> > > > >>> that doesn't support the ->set_phase() callback.
> >
> > In the current implementation, I am taking care of both the input and
> > output clock delays with the single clock (which is output clock) 
> > registration
> > and differentiating these tap delays based on their values
> > (<256 then input delay and  >= 256 then output delay), because that is
> > zynqmp specific. If we want to make this generic, we may need to
> > register 'another' clock which will be there as an input (sampling) clock
> > and then we can make this 'clk_set_phase()' be called unconditionally
> > each for both the clocks and let the platforms handle their clock part.
> > What's your take on this?
> 
> Not sure exactly what you are suggesting, but my gut feeling says it
> sounds good.
> 
> How is tap delays managed for both the input clock and the output
> clock? Is some managed by the clock provider (which is probably
> firmware in your case) and some managed by the MMC controller?

Yes, for the existing "xlnx,zynqmp-8.9a" controller, the tap delays will be 
managed by the firmware, however in the upcoming "xlnx,versal-8.9a" variant the 
tap delays will be managed by the MMC controller itself.
I will include the Versal one in the next series of patches.

Thanks,
Manish

Reply via email to