From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Henning Schild <henning.schild@siemens.com>
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>,
Jean Delvare <jdelvare@suse.de>, Lee Jones <lee.jones@linaro.org>,
Tan Jui Nee <jui.nee.tan@intel.com>,
Jim Quinlan <james.quinlan@broadcom.com>,
Jonathan Yong <jonathan.yong@intel.com>,
Bjorn Helgaas <bhelgaas@google.com>,
linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org,
linux-pci@vger.kernel.org, Jean Delvare <jdelvare@suse.com>,
Peter Tyser <ptyser@xes-inc.com>,
hdegoede@redhat.com
Subject: Re: [PATCH v1 6/7] mfd: lpc_ich: Add support for pinctrl in non-ACPI system
Date: Mon, 12 Apr 2021 20:41:39 +0300 [thread overview]
Message-ID: <YHSGU1fOa1AWYJGr@smile.fi.intel.com> (raw)
In-Reply-To: <20210412192714.617d18b0@md1za8fc.ad001.siemens.net>
On Mon, Apr 12, 2021 at 07:27:14PM +0200, Henning Schild wrote:
> Am Mon, 12 Apr 2021 19:51:42 +0300
> schrieb Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
> > On Mon, Apr 12, 2021 at 06:01:06PM +0200, Henning Schild wrote:
> > > Am Mon, 8 Mar 2021 14:20:19 +0200
> > > schrieb Andy Shevchenko <andriy.shevchenko@linux.intel.com>:
...
> > > > +#define APL_GPIO_NORTH_OFFSET 0xc50000
> > > > +#define APL_GPIO_NORTH_SIZE 0x76c
> > >
> > > drivers/pinctrl/intel/pinctrl-broxton.c:653
> > > BXT_COMMUNITY(0, 77),
> > >
> > > > +#define APL_GPIO_WEST_OFFSET 0xc70000
> > > > +#define APL_GPIO_WEST_SIZE 0x674
> > >
> > > All these sizes correlate with 4 magic numbers from pinctrl-broxton.
> > >
> > > SIZE - 0x500 (pad_base?) - 4 (no clue) / 8
> > >
> > > It might be worth basing both numbers on a define and giving the
> > > magic numbers some names.
> >
> > I didn't get this, sorry. The numbers above just precise sizes of the
> > resources. Actually they all one page anyway, so, I can drop magic of
> > SIZEs and leave only offsets.
>
> That precise size is also in the broxton driver, i think. Say we did
> have
>
> #define BXT_NORTH_COUNT 77
> #define PAD_BASE 0x500
>
> in some central place
>
> then we could use
>
> size = 0x500 + 8 * BXT_NORTH_COUNT + 4 (no clue what that is)
>
> the same pattern would work for all those sizes and their
> BXT_COMMUNITY(0, XX) counterparts
>
> So the real size seems to be a function of the magic numbers in
> BXT_COMMUNITY(0, XX)
>
> Or simply take one page as you say.
No, not this way. We are really trying hard *not* to put *that* magic into
the code. Just FYI that SIZEs I have calculated myself, but these SIZEs
are *not* the same as the ones used in pinctrl-broxton *semantically*.
One if for resource provider, one is for consumer. They are simply different
in this sense.
> > > But all this seems like duplication of pinctrl-broxton, maybe the
> > > pinctrl driver should unhide the p2sb ...
> >
> > Definitely should not. It's not a business of the pin control driver
> > to know how it has to be instantiated (or from what data). These
> > offsets belong to the platform description and since firmware hides
> > the device without given an appropriate ACPI device node, we have
> > only one choice (assuming firmware is carved in stone) -- board files.
> >
> > P2SB on the other hand is a slice of many (independent) devices.
> > There is no "proper" place to unhide it except some core part of x86
> > / PCI.
>
> Got it, still the fact that there are 4 regions/communities is also part
> of the broxton driver so there is duplication.
See above. I guess here is a misunderstanding behind meaning of the (same)
numbers in different parts. Technically we may unify them, but it will be
a layering violation.
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2021-04-12 17:41 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-08 12:20 [rfc, PATCH v1 0/7] PCI: introduce p2sb helper Andy Shevchenko
2021-03-08 12:20 ` [PATCH v1 1/7] PCI: Introduce pci_bus_*() printing macros when device is not available Andy Shevchenko
2021-03-10 14:57 ` Jean Delvare
2021-03-08 12:20 ` [PATCH v1 2/7] PCI: Convert __pci_read_base() to __pci_bus_read_base() Andy Shevchenko
2021-03-10 17:14 ` Christoph Hellwig
2021-03-08 12:20 ` [PATCH v1 3/7] PCI: New Primary to Sideband (P2SB) bridge support library Andy Shevchenko
2021-03-08 18:52 ` Bjorn Helgaas
2021-03-08 19:16 ` Andy Shevchenko
2021-03-09 1:42 ` Bjorn Helgaas
2021-03-09 8:42 ` Henning Schild
2021-04-01 15:45 ` Andy Shevchenko
2021-04-01 16:42 ` Bjorn Helgaas
2021-04-01 18:23 ` Andy Shevchenko
2021-04-01 18:44 ` Bjorn Helgaas
2021-07-12 12:15 ` Andy Shevchenko
2021-11-26 15:10 ` Andy Shevchenko
2021-04-02 13:09 ` Enrico Weigelt, metux IT consult
2021-04-06 13:40 ` Henning Schild
2021-07-12 12:11 ` Andy Shevchenko
2021-11-26 15:38 ` Andy Shevchenko
2021-11-29 21:07 ` Bjorn Helgaas
2021-12-08 17:51 ` Andy Shevchenko
2021-03-13 9:45 ` Henning Schild
2021-04-01 15:43 ` Andy Shevchenko
2021-04-01 18:06 ` Mika Westerberg
2021-04-01 18:22 ` Andy Shevchenko
2021-04-01 18:32 ` Mika Westerberg
2021-07-12 12:13 ` Andy Shevchenko
2021-03-08 12:20 ` [PATCH v1 4/7] mfd: lpc_ich: Factor out lpc_ich_enable_spi_write() Andy Shevchenko
2021-03-10 10:29 ` Lee Jones
2021-03-08 12:20 ` [PATCH v1 5/7] mfd: lpc_ich: Switch to generic pci_p2sb_bar() Andy Shevchenko
2021-03-10 10:35 ` Lee Jones
2021-03-10 12:05 ` Andy Shevchenko
2021-03-10 12:57 ` Lee Jones
2021-03-08 12:20 ` [PATCH v1 6/7] mfd: lpc_ich: Add support for pinctrl in non-ACPI system Andy Shevchenko
2021-03-10 10:27 ` Lee Jones
2021-04-12 16:01 ` Henning Schild
2021-04-12 16:40 ` Henning Schild
2021-04-12 16:59 ` Andy Shevchenko
2021-04-12 17:16 ` Henning Schild
2021-04-12 17:34 ` Andy Shevchenko
2021-04-13 6:47 ` Henning Schild
2021-04-12 16:51 ` Andy Shevchenko
2021-04-12 17:27 ` Henning Schild
2021-04-12 17:41 ` Andy Shevchenko [this message]
2021-03-08 12:20 ` [PATCH v1 7/7] i2c: i801: convert to use common P2SB accessor Andy Shevchenko
2021-03-10 14:51 ` Jean Delvare
2021-12-21 15:08 ` Andy Shevchenko
2021-03-13 9:25 ` [rfc, PATCH v1 0/7] PCI: introduce p2sb helper Henning Schild
2021-06-10 9:02 ` Henning Schild
2021-06-10 10:14 ` Andy Shevchenko
2021-06-10 13:48 ` Henning Schild
2021-06-10 14:04 ` Andy Shevchenko
2021-11-26 15:43 ` Andy Shevchenko
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=YHSGU1fOa1AWYJGr@smile.fi.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=bhelgaas@google.com \
--cc=hdegoede@redhat.com \
--cc=henning.schild@siemens.com \
--cc=james.quinlan@broadcom.com \
--cc=jdelvare@suse.com \
--cc=jdelvare@suse.de \
--cc=jonathan.yong@intel.com \
--cc=jui.nee.tan@intel.com \
--cc=lee.jones@linaro.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=ptyser@xes-inc.com \
--cc=wsa+renesas@sang-engineering.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.