Patch "x86/platform/intel-mid: Keep SRAM powered on at boot" has been added to the 4.8-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
x86/platform/intel-mid: Keep SRAM powered on at boot
to the 4.8-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
x86-platform-intel-mid-keep-sram-powered-on-at-boot.patch
and it can be found in the queue-4.8 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
f43ea76cf310c3be95cb75ae1350cbe76a8f2380Mon Sep 17 00:00:00 2001
From: Andy Shevchenko <[email protected]>
Date: Thu, 8 Sep 2016 13:32:32 +0300
Subject: x86/platform/intel-mid: Keep SRAM powered on at boot
From: Andy Shevchenko <[email protected]>
commit f43ea76cf310c3be95cb75ae1350cbe76a8f2380 upstream.
On Penwell SRAM has to be powered on, otherwise it prevents booting.
--- arch/x86/platform/intel-mid/pwr.c | 45 ++++++++++++++++++++++++++++++-------- 1 file changed, 36 insertions(+), 9 deletions(-)
arch/x86/platform/intel-mid/pwr.c +36 -9
@@ -354,7 +354,7 @@ static int mid_pwr_probe(struct pci_devreturn 0 ; } -static int mid_set_initial_state (struct mid_pwr *pwr) +static int mid_set_initial_state (struct mid_pwr *pwr,const u32 *states) {unsigned int i, j;int ret;
@@ -379,10 +379,10 @@ static int mid_set_initial_state(struct* NOTE: The actual device mapping is provided by a platform at run * time using vendor capability of PCI configuration space. */ -mid_pwr_set_state (pwr,0 ,0xffffffff ); -mid_pwr_set_state (pwr,1 ,0xffffffff ); -mid_pwr_set_state (pwr,2 ,0xffffffff ); -mid_pwr_set_state (pwr,3 ,0xffffffff ); +mid_pwr_set_state (pwr,0 , states[0 ]); +mid_pwr_set_state (pwr,1 , states[1 ]); +mid_pwr_set_state (pwr,2 , states[2 ]); +mid_pwr_set_state (pwr,3 , states[3 ]);/* Send command to SCU */ ret =mid_pwr_wait_for_cmd (pwr,CMD_SET_CFG );
@@ -397,14 +397,41 @@ static int mid_set_initial_state(structreturn 0 ; } -static const struct mid_pwr_device_info mid_info = { - .set_initial_state = mid_set_initial_state, +static int pnw_set_initial_state (struct mid_pwr *pwr) +{ +/* On Penwell SRAM must stay powered on */ +const u32 states[] = { +0xf00fffff ,/* PM_SSC(0) */ +0xffffffff ,/* PM_SSC(1) */ +0xffffffff ,/* PM_SSC(2) */ +0xffffffff ,/* PM_SSC(3) */ + }; +return mid_set_initial_state (pwr, states); +} + +static int tng_set_initial_state (struct mid_pwr *pwr) +{ +const u32 states[] = { +0xffffffff ,/* PM_SSC(0) */ +0xffffffff ,/* PM_SSC(1) */ +0xffffffff ,/* PM_SSC(2) */ +0xffffffff ,/* PM_SSC(3) */ + }; +return mid_set_initial_state (pwr, states); +} + +static const struct mid_pwr_device_info pnw_info = { + .set_initial_state = pnw_set_initial_state, +}; + +static const struct mid_pwr_device_info tng_info = { + .set_initial_state = tng_set_initial_state, };/* This table should be in sync with the one in drivers/pci/pci-mid.c */ static const struct pci_device_id mid_pwr_pci_ids[] = { - {PCI_VDEVICE (INTEL ,PCI_DEVICE_ID_PENWELL ), (kernel_ulong_t)&mid_info }, - {PCI_VDEVICE (INTEL ,PCI_DEVICE_ID_TANGIER ), (kernel_ulong_t)&mid_info }, + {PCI_VDEVICE (INTEL ,PCI_DEVICE_ID_PENWELL ), (kernel_ulong_t)&pnw_info }, + {PCI_VDEVICE (INTEL ,PCI_DEVICE_ID_TANGIER ), (kernel_ulong_t)&tng_info }, {} };
Patches currently in stable-queue which might be from [email protected] are
queue-4.8/x86-platform-intel-mid-keep-sram-powered-on-at-boot.patch queue-4.8/x86-platform-intel-mid-add-intel-penwell-to-id-table.patch queue-4.8/x86-cpu-rename-merrifield2-to-moorefield.patch