Thread (36 messages) 36 messages, 10 authors, 2017-07-07

[PATCH v9 0/3] Tango PCIe controller support

From: Mason <hidden>
Date: 2017-07-05 22:00:02
Also in: linux-devicetree, linux-pci, lkml

On 05/07/2017 23:34, Bjorn Helgaas wrote:
On Wed, Jul 05, 2017 at 10:39:19PM +0200, Mason wrote:
quoted
On 05/07/2017 20:03, Bjorn Helgaas wrote:
quoted
On Wed, Jul 05, 2017 at 12:55:37AM +0200, Mason wrote:
quoted
On 04/07/2017 22:24, Bjorn Helgaas wrote:
quoted
I made the trivial changes I mentioned, added a dependency on
CONFIG_BROKEN (for the config/MMIO muxing issue), and put these on
pci/host-tango.  I can't build or test this, so I probably broke
something in the process.  I think the combination of the boot-time
warning, the taint, and CONFIG_BROKEN is a reasonable amount of
warning that a user should expect issues.

Can you take a look and see if it works for you?

https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=pci/host-tango
Thanks. I'll take it for a spin ASAP.

TAINT_CRAP... Smirk. I didn't see that one in the docs:
https://www.kernel.org/doc/html/latest/admin-guide/tainted-kernels.html

Oh wait... TAINT_CRAP is "C" => a staging driver has been loaded
I wish it had a less pejorative, more descriptive name.  But it seems like
the closest to this situation.
Maybe it is not too late to submit a patch to Linus
renaming TAINT_CRAP?

Here are a few candidates, off the top of my head:

TAINT_STAGING
TAINT_STAGING_DRIVER
TAINT_BROKEN_HW
TAINT_BROKEN_HARDWARE
TAINT_USE_AT_YOUR_OWN_RISK
I personally wouldn't object, but it's not a PCI thing so that can all
be separate from this driver.
Yes, of course. I was just asking for your (and anyone's)
opinion, as a Linux dev.
quoted
quoted
quoted
The one issue I anticipate with "depends on BROKEN" is
when I add support for revision 2, which isn't broken.
How about this:

  - Rename PCIE_TANGO to PCIE_TANGO_REV1
  - PCIE_TANGO_REV1 depends on BROKEN
  - Add rev2 support later, enabled by PCIE_TANGO
  - PCIE_TANGO_REV1 depends on PCIE_TANGO && BROKEN

I updated pci/host-tango along these lines (without rev2 support,
obviously).
And support for REV1 wouldn't be compiled in, unless
BROKEN is selected? Yes, I think that could fly.
Right.
quoted
Don't you think the naming should follow the DT
convention of using the first SoC embedding the
IP (for the compatible string) ?

PCIE_TANGO_REV1 vs PCIE_TANGO_SMP8759
Sounds reasonable.  So v2 will be something other than SMP8759?
I renamed it to CONFIG_PCIE_TANGO_SMP8759.
Right, HW bugs are fixed in newer chips. Old chips rarely
get bug fixes, apparently.
If you confirm that
https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/commit/?h=pci/host-tango&id=d752a8b29345
works for you, I'll include it in my v4.13 pull request.
There were a few nits I wanted to address:

- Since we added suppress_bind_attrs = true, probe()
can only be called at init, so I wanted to mark __init
all the probe functions, to save space.

- I left the definition of MSI_MAX in the wrong patch

- You put a pointer to the pdev in the struct tango_pcie.
I think this is redundant, since the pdev already has a
pointer to the struct, as drvdata.
So I wanted to change tango_msi_probe() to take a pdev
as argument (to make it more like an actual probe function)
and derive pcie from pdev, instead of the other way around.

Can I send you a patch series with these changes on Friday?

Regards.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help