Re: [PATCH v1 1/1] platform/x86: intel_pmc_ipc: fix io mem mapping size

From: sathyanarayanan kuppuswamy
Date: Thu Mar 16 2017 - 17:19:30 EST


Hi Andy,


On 03/16/2017 01:12 PM, Andy Shevchenko wrote:
On Thu, Mar 16, 2017 at 8:13 PM, Rajneesh Bhardwaj
<rajneesh.bhardwaj@xxxxxxxxx> wrote:
On Thu, Mar 16, 2017 at 06:05:39PM +0200, Andy Shevchenko wrote:
On Thu, Mar 16, 2017 at 4:52 PM, Rajneesh Bhardwaj
<rajneesh.bhardwaj@xxxxxxxxx> wrote:
On Wed, Mar 15, 2017 at 08:32:53PM -0700, Kuppuswamy Sathyanarayanan wrote:
Mapping entire GCR mem region in this driver creates
mem region request conflict in sub devices that depend
on PMC. This creates driver probe failure in devices like
iTC0_wdt and telemetry device.
iTCO_WDT driver needs to check the BIT4 (NO_REBOOT) of PMC_CFG register
(Offset: 0x1008) and this falls in GCR space.
Are we talking about ACPI-enabled platform?
IIUC, you are referring to WDT enumerated by ACPI tables (WDAT, WDRT etc) ?

On APL/BXT i think we pass the resource mapping to iTCO_WDT driver since
acpi_has_watchdog provides the required protection. For non ACPI-enabled
platforms we have this issue since iTCO_WDT driver anyway tries resource
mapping when the iTCO_version >=2.
And driver with necessary stuff should be already in upstream.

https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git/tree/drivers/mfd/lpc_ich.c?h=watchdog-next#n552

Or it's not enough?
Can this driver replace intel_pmc_ipc driver ? It seems to be missing IPC related APIs.

Regarding iTCO watchdog section, I think this driver also passes GCR region as memory resource to iTCO_WDT device.


--
Sathyanarayanan Kuppuswamy
Android kernel developer