summaryrefslogtreecommitdiffstats
path: root/hw/phb3.c
diff options
context:
space:
mode:
authorGavin Shan <gwshan@linux.vnet.ibm.com>2016-04-26 11:56:52 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2016-05-03 17:48:46 +1000
commit00f3d2ca92b325db1c7832e4560b564359977202 (patch)
tree86103015f09d73aedfcbf376ece2b0c25884f6d1 /hw/phb3.c
parent98b80af1001027cc59dce040831c1f54d41e4f88 (diff)
downloadblackbird-skiboot-00f3d2ca92b325db1c7832e4560b564359977202.tar.gz
blackbird-skiboot-00f3d2ca92b325db1c7832e4560b564359977202.zip
PCI: Move PHB lock to generic layer
All kinds of PHBs are maintaining a spinlock. At mean while, the spinlock is acquired or released by backends for phb_ops->lock() or phb_ops->unlock(). There're no difference of the logic on all kinds of PHBs. So it's reasonable to maintain the lock in the generic layer (struct phb). This moves lock from specific PHB to generic one. The spinlock is initialized when the generic PHB is registered in pci_register_phb(). Also, two inline functions phb_{lock, unlock}() are introduced to acquire/release it. No logical changes introduced. Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw/phb3.c')
-rw-r--r--hw/phb3.c20
1 files changed, 0 insertions, 20 deletions
diff --git a/hw/phb3.c b/hw/phb3.c
index dbc109b8..ab9d1176 100644
--- a/hw/phb3.c
+++ b/hw/phb3.c
@@ -60,24 +60,6 @@ static void phb3_init_hw(struct phb3 *p, bool first_init);
#define PHBERR(p, fmt, a...) prlog(PR_ERR, "PHB#%04x: " fmt, \
(p)->phb.opal_id, ## a)
-/*
- * Lock callbacks. Allows the OPAL API handlers to lock the
- * PHB around calls such as config space, EEH, etc...
- */
-static void phb3_lock(struct phb *phb)
-{
- struct phb3 *p = phb_to_phb3(phb);
-
- lock(&p->lock);
-}
-
-static void phb3_unlock(struct phb *phb)
-{
- struct phb3 *p = phb_to_phb3(phb);
-
- unlock(&p->lock);
-}
-
/* Helper to select an IODA table entry */
static inline void phb3_ioda_sel(struct phb3 *p, uint32_t table,
uint32_t addr, bool autoinc)
@@ -3591,8 +3573,6 @@ static int64_t phb3_set_capp_recovery(struct phb *phb)
}
static const struct phb_ops phb3_ops = {
- .lock = phb3_lock,
- .unlock = phb3_unlock,
.cfg_read8 = phb3_pcicfg_read8,
.cfg_read16 = phb3_pcicfg_read16,
.cfg_read32 = phb3_pcicfg_read32,
OpenPOWER on IntegriCloud