intel_pmc_ipc: Fix GCR register base address and length
authorQipeng Zha <qipeng.zha@intel.com>
Wed, 17 Feb 2016 18:03:37 +0000 (02:03 +0800)
committerDarren Hart <dvhart@linux.intel.com>
Wed, 23 Mar 2016 17:05:47 +0000 (10:05 -0700)
GCR register (pmc_cfg register) is at offset 0x1008, and
remapping of 0x4 bytes is enough.

Signed-off-by: Francois-Nicolas Muller <francois-nicolas.muller@intel.com>
Signed-off-by: Qipeng Zha <qipeng.zha@intel.com>
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
drivers/platform/x86/intel_pmc_ipc.c

index 092519e37de628c1da5ad26d011cd03a07b7c831..3b0182c189d6fcff668175428b245037de5c8fba 100644 (file)
@@ -67,7 +67,8 @@
 /* exported resources from IFWI */
 #define PLAT_RESOURCE_IPC_INDEX                0
 #define PLAT_RESOURCE_IPC_SIZE         0x1000
-#define PLAT_RESOURCE_GCR_SIZE         0x1000
+#define PLAT_RESOURCE_GCR_OFFSET       0x1008
+#define PLAT_RESOURCE_GCR_SIZE         0x4
 #define PLAT_RESOURCE_BIOS_DATA_INDEX  1
 #define PLAT_RESOURCE_BIOS_IFACE_INDEX 2
 #define PLAT_RESOURCE_TELEM_SSRAM_INDEX        3
@@ -766,7 +767,7 @@ static int ipc_plat_get_res(struct platform_device *pdev)
        }
        ipcdev.ipc_base = addr;
 
-       ipcdev.gcr_base = res->start + size;
+       ipcdev.gcr_base = res->start + PLAT_RESOURCE_GCR_OFFSET;
        ipcdev.gcr_size = PLAT_RESOURCE_GCR_SIZE;
        dev_info(&pdev->dev, "ipc res: %pR\n", res);