RE: [patch v1] x86/platform/mellanox: introduce support for Mellanox systems platform

From: Vadim Pasternak
Date: Mon Sep 12 2016 - 04:21:36 EST




> -----Original Message-----
> From: Greg KH [mailto:gregkh@xxxxxxxxxxxxxxxxxxx]
> Sent: Monday, September 12, 2016 11:17 AM
> To: Vadim Pasternak <vadimp@xxxxxxxxxxxx>
> Cc: tglx@xxxxxxxxxxxxx; mingo@xxxxxxxxxx; hpa@xxxxxxxxx;
> davem@xxxxxxxxxxxxx; geert@xxxxxxxxxxxxxx; akpm@xxxxxxxxxxxxxxxxxxxx;
> kvalo@xxxxxxxxxxxxxx; mchehab@xxxxxxxxxx; linux@xxxxxxxxxxxx;
> x86@xxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; platform-driver-
> x86@xxxxxxxxxxxxxxx; jiri@xxxxxxxxxxx
> Subject: Re: [patch v1] x86/platform/mellanox: introduce support for Mellanox
> systems platform
>
> On Mon, Sep 12, 2016 at 07:48:24AM +0000, Vadim Pasternak wrote:
> >
> >
> > > -----Original Message-----
> > > From: Greg KH [mailto:gregkh@xxxxxxxxxxxxxxxxxxx]
> > > Sent: Monday, September 12, 2016 10:41 AM
> > > To: Vadim Pasternak <vadimp@xxxxxxxxxxxx>
> > > Cc: tglx@xxxxxxxxxxxxx; mingo@xxxxxxxxxx; hpa@xxxxxxxxx;
> > > davem@xxxxxxxxxxxxx; geert@xxxxxxxxxxxxxx;
> > > akpm@xxxxxxxxxxxxxxxxxxxx; kvalo@xxxxxxxxxxxxxx; mchehab@xxxxxxxxxx;
> > > linux@xxxxxxxxxxxx; x86@xxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> > > platform-driver- x86@xxxxxxxxxxxxxxx; jiri@xxxxxxxxxxx
> > > Subject: Re: [patch v1] x86/platform/mellanox: introduce support for
> > > Mellanox systems platform
> > >
> > > On Mon, Sep 12, 2016 at 07:23:59AM +0000, Vadim Pasternak wrote:
> > > >
> > > >
> > > > > -----Original Message-----
> > > > > From: Greg KH [mailto:gregkh@xxxxxxxxxxxxxxxxxxx]
> > > > > Sent: Monday, September 12, 2016 10:05 AM
> > > > > To: Vadim Pasternak <vadimp@xxxxxxxxxxxx>
> > > > > Cc: tglx@xxxxxxxxxxxxx; mingo@xxxxxxxxxx; hpa@xxxxxxxxx;
> > > > > davem@xxxxxxxxxxxxx; geert@xxxxxxxxxxxxxx;
> > > > > akpm@xxxxxxxxxxxxxxxxxxxx; kvalo@xxxxxxxxxxxxxx;
> > > > > mchehab@xxxxxxxxxx; linux@xxxxxxxxxxxx; x86@xxxxxxxxxx;
> > > > > linux-kernel@xxxxxxxxxxxxxxx;
> > > > > platform-driver- x86@xxxxxxxxxxxxxxx; jiri@xxxxxxxxxxx
> > > > > Subject: Re: [patch v1] x86/platform/mellanox: introduce support
> > > > > for Mellanox systems platform
> > > > >
> > > > > On Mon, Sep 12, 2016 at 06:44:03AM +0000, Vadim Pasternak wrote:
> > > > > >
> > > > > >
> > > > > > > -----Original Message-----
> > > > > > > From: Greg KH [mailto:gregkh@xxxxxxxxxxxxxxxxxxx]
> > > > > > > Sent: Monday, September 12, 2016 9:13 AM
> > > > > > > To: Vadim Pasternak <vadimp@xxxxxxxxxxxx>
> > > > > > > Cc: tglx@xxxxxxxxxxxxx; mingo@xxxxxxxxxx; hpa@xxxxxxxxx;
> > > > > > > davem@xxxxxxxxxxxxx; geert@xxxxxxxxxxxxxx;
> > > > > > > akpm@xxxxxxxxxxxxxxxxxxxx; kvalo@xxxxxxxxxxxxxx;
> > > > > > > mchehab@xxxxxxxxxx; linux@xxxxxxxxxxxx; x86@xxxxxxxxxx;
> > > > > > > linux-kernel@xxxxxxxxxxxxxxx;
> > > > > > > platform-driver- x86@xxxxxxxxxxxxxxx; jiri@xxxxxxxxxxx
> > > > > > > Subject: Re: [patch v1] x86/platform/mellanox: introduce
> > > > > > > support for Mellanox systems platform
> > > > > > >
> > > > > > > On Mon, Sep 12, 2016 at 06:29:58AM +0000,
> > > > > > > vadimp@xxxxxxxxxxxx
> > > wrote:
> > > > > > > > From: Vadim Pasternak <vadimp@xxxxxxxxxxxx>
> > > > > > > >
> > > > > > > > Enable system support for the Mellanox Technologies
> > > > > > > > platform, which provides support for the next Mellanox basic
> systems:
> > > > > > > > "msx6710", "msx6720", "msb7700", "msn2700", "msx1410",
> > > > > > > > "msn2410", "msb7800", "msn2740", "msn2100" and also
> > > > > > > > various number of derivative systems from the above basic types.
> > > > > > >
> > > > > > > What does "system support" mean?
> > > > > > >
> > > > > > > Why can't this just be a "normal" PCI driver, as you are
> > > > > > > just accessing a PCI device and doing something with it,
> > > > > > > seems odd to claim it is a
> > > > > "platform" driver.
> > > > > > >
> > > > > >
> > > > > > This driver also activates probes to create i2c platform driver and
> muxes.
> > > > >
> > > > > And how does it do that? Through the PCI device?
> > > > >
> > > > > > For ARM and PPC based systems I can activate such stuff through dts.
> > > > > > To be honest I don't know what is the right way to do such
> > > > > > things for
> > > > > > x86 systems.
> > > > >
> > > > > How is it found in a x86 system, in ACPI?
> > > > >
> > > >
> > > > We have no support in ACPI.
> > > > Currently it could be found through DMI.
> > > >
> > > > > > If I will move PCI related stuff to separate driver, could you
> > > > > > suggest some right location for that?
> > > > >
> > > > > Depends on what it does.
> > > >
> > > > It creates platform i2c driver (Mellanox controller), like:
> > > > platform_device_register_simple("i2c_mlxcpld", -1,
> > > > NULL, 0);
> > > > And two mux platform device instances, like:
> > > > platform_device_register_resndata(dev,
> > > > " i2c-mux-reg", i, NULL,
> > > > 0,
> > > > &mlxplat_mux_data[i],
> > > >
> > > > sizeof(mlxplat_mux_data[i]));
> > >
> > > Ugh. Really? These aren't on a real bus? What is this, the 1990's?
> >
> > Actually this is 2015-2016.
> > Many switches use i2c virtual buses infrastructure for placing slow
> > devices for system monitoring and control.
>
> Yes, but that i2c controller is on what type of bus? A non-discoverable one?
> That's what I'm complaining about...

This is LPC to I2C bridge.
Controller logic is implemented in Lattice CPLD. CPLD itself is attached to LPC.

>
> thanks,
>
> greg k-h