All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vladimir Oltean <olteanv@gmail.com>
To: Kuldip Dwivedi <kuldip.dwivedi@puresoftware.com>
Cc: Mark Brown <broonie@kernel.org>,
	linux-spi@vger.kernel.org, linux-kernel@vger.kernel.org,
	Qiang Zhao <qiang.zhao@nxp.com>,
	Pankaj Bansal <pankaj.bansal@nxp.com>,
	Varun Sethi <V.Sethi@nxp.com>,
	Tanveer Alam <tanveer.alam@puresoftware.com>
Subject: Re: [PATCH] spi: spi-fsl-dspi: Add ACPI support
Date: Sat, 22 Aug 2020 18:21:18 +0300	[thread overview]
Message-ID: <20200822152118.rlwbcgfk4abjldtg@skbuf> (raw)
In-Reply-To: <c810740d75f64e308fd362e6c6a5f437@mail.gmail.com>

On Sat, Aug 22, 2020 at 07:37:25PM +0530, Kuldip Dwivedi wrote:
> > -----Original Message-----
> > From: Mark Brown <broonie@kernel.org>
> > Sent: Friday, August 21, 2020 7:37 PM
> > To: kuldip dwivedi <kuldip.dwivedi@puresoftware.com>
> > Cc: linux-spi@vger.kernel.org; linux-kernel@vger.kernel.org; Qiang Zhao
> > <qiang.zhao@nxp.com>; Pankaj Bansal <pankaj.bansal@nxp.com>; Varun Sethi
> > <V.Sethi@nxp.com>; tanveer <tanveer.alam@puresoftware.com>
> > Subject: Re: [PATCH] spi: spi-fsl-dspi: Add ACPI support
> >
> > On Fri, Aug 21, 2020 at 06:40:29PM +0530, kuldip dwivedi wrote:
> >
> > > +static const struct acpi_device_id fsl_dspi_acpi_ids[] = {
> > > +	{ "NXP0005", .driver_data =
> (kernel_ulong_t)&devtype_data[LS2085A], },
> > > +	{},
> > > +};
> > > +MODULE_DEVICE_TABLE(acpi, fsl_dspi_acpi_ids);
> >
> > Does NXP know about this ID assignment from their namespace?  ACPI
> > IDs should be namespaced by whoever's assigning the ID to avoid
> > collisions.
> Yes, I got HID from NXP only.
> >
> > > -		ret = of_property_read_u32(np, "spi-num-chipselects",
> &cs_num);
> > > +		if (is_acpi_node(pdev->dev.fwnode))
> > > +			ret = device_property_read_u32(&pdev->dev,
> > > +					"spi-num-chipselects", &cs_num);
> > > +		else
> > > +			ret = of_property_read_u32(np,
> > > +					"spi-num-chipselects", &cs_num);
> >
> > The whole point with the device property API is that it works with
> > both DT and ACPI without needing separate parsing, though in this
> > case I'm wondering why we'd need to specify this in an ACPI system
> > at all?
> Understood. Will take care in v2 PATCH
> >

IMO there is zero reason for the existence of the "spi-num-chipselects"
property even for DT. We should deprecate it (start ignoring it in
existing device tree deployments) and populate struct
fsl_dspi_devtype_data with that info based on SoC compatible string.

> > > -		of_property_read_u32(np, "bus-num", &bus_num);
> > > +		if (is_acpi_node(pdev->dev.fwnode)) {
> > > +			ret = device_property_read_u32(&pdev->dev,
> > > +							"bus-num",
> &bus_num);
> >
> > This is a bad idea for DT and I can't understand why you'd carry it
> > over for ACPI - why would an ACPI system ever care about this?  It's
> > Linux internal at the best of times.
> Will take care in v2 PATCH

Yes, definitely bloatware from the old days. I think this driver needs
the existing device tree bindings rethought a little bit before
mindlessly porting them to ACPI.

> >
> > It looks like you've done this by simply adding these device
> > property alternatives for every DT property.  This isn't how that
> > API is intended to be used and suggests that this isn't a thought
> > through, idiomatic ACPI binding.  I'd suggest looking at the
> > Synquacer driver for an example of how this would normally be done,
> > I'd expect your ACPI code to look very much like theirs.

Speaking of which, on what SPI peripherals was this tested?
I am not sure how other controllers deal with this, but DSPI has, by
default, no CS-to-SCK and a SCK-to-CS delays. Those must be explicitly
requested through the custom "fsl,spi-cs-sck-delay" and
"fsl,spi-sck-cs-delay" DT bindings for each individual SPI peripheral.
Some peripherals just don't work when the CS-to-SCK and SCK-to-CS delays
are zero, and I don't see the ACPI variant of the driver attempting to
read those properties, hence the question.

Thanks,
-Vladimir

  reply	other threads:[~2020-08-22 15:21 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-21 13:10 [PATCH] spi: spi-fsl-dspi: Add ACPI support kuldip dwivedi
2020-08-21 14:07 ` Mark Brown
2020-08-22 14:07   ` Kuldip Dwivedi
2020-08-22 15:21     ` Vladimir Oltean [this message]
2020-08-24 11:25       ` Mark Brown
2020-08-26  8:19         ` Qiang Zhao
2020-08-26 10:19           ` Mark Brown
2020-08-26 11:10       ` Qiang Zhao
2020-08-26 11:47         ` Vladimir Oltean
2020-08-26 14:23           ` Mark Brown
2020-08-26 14:47             ` Vladimir Oltean
2020-08-26 15:13               ` Kuldip Dwivedi
2020-08-26 16:09                 ` Vladimir Oltean
2020-08-26 17:02                   ` Mark Brown
2020-08-26 18:30                     ` Vladimir Oltean
2020-08-26 18:36                       ` Mark Brown
2020-08-26 16:55               ` Mark Brown
2020-08-26 18:33                 ` Vladimir Oltean
2020-08-26 18:42                   ` Mark Brown
2020-08-21 16:49 ` kernel test robot
2020-08-21 16:49   ` kernel test robot
2020-08-22 18:33 ` Vladimir Oltean
2020-08-26 19:34   ` Andy Shevchenko
2020-08-26 19:36     ` Andy Shevchenko
2020-08-26 19:56       ` Vladimir Oltean
2020-08-26 20:41         ` Mark Brown
2020-08-26 20:41     ` Vladimir Oltean
2020-08-26 20:45       ` Mark Brown
2020-08-26 21:06         ` Vladimir Oltean
2020-08-27 11:32           ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200822152118.rlwbcgfk4abjldtg@skbuf \
    --to=olteanv@gmail.com \
    --cc=V.Sethi@nxp.com \
    --cc=broonie@kernel.org \
    --cc=kuldip.dwivedi@puresoftware.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=pankaj.bansal@nxp.com \
    --cc=qiang.zhao@nxp.com \
    --cc=tanveer.alam@puresoftware.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.