mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
PCI: Fix whitespace, capitalization, and spelling errors
Fix whitespace, capitalization, and spelling errors. No functional change. I know "busses" is not an error, but "buses" was more common, so I used it consistently. Signed-off-by: Marta Rybczynska <rybczynska@gmail.com> (pci_reset_bridge_secondary_bus()) Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
+1
-1
@@ -410,7 +410,7 @@ EXPORT_SYMBOL_GPL(pci_disable_pasid);
|
||||
* Otherwise is returns a bitmask with supported features. Current
|
||||
* features reported are:
|
||||
* PCI_PASID_CAP_EXEC - Execute permission supported
|
||||
* PCI_PASID_CAP_PRIV - Priviledged mode supported
|
||||
* PCI_PASID_CAP_PRIV - Privileged mode supported
|
||||
*/
|
||||
int pci_pasid_features(struct pci_dev *pdev)
|
||||
{
|
||||
|
||||
@@ -249,7 +249,7 @@ struct tegra_pcie {
|
||||
void __iomem *afi;
|
||||
int irq;
|
||||
|
||||
struct list_head busses;
|
||||
struct list_head buses;
|
||||
struct resource *cs;
|
||||
|
||||
struct resource io;
|
||||
@@ -399,14 +399,14 @@ free:
|
||||
|
||||
/*
|
||||
* Look up a virtual address mapping for the specified bus number. If no such
|
||||
* mapping existis, try to create one.
|
||||
* mapping exists, try to create one.
|
||||
*/
|
||||
static void __iomem *tegra_pcie_bus_map(struct tegra_pcie *pcie,
|
||||
unsigned int busnr)
|
||||
{
|
||||
struct tegra_pcie_bus *bus;
|
||||
|
||||
list_for_each_entry(bus, &pcie->busses, list)
|
||||
list_for_each_entry(bus, &pcie->buses, list)
|
||||
if (bus->nr == busnr)
|
||||
return (void __iomem *)bus->area->addr;
|
||||
|
||||
@@ -414,7 +414,7 @@ static void __iomem *tegra_pcie_bus_map(struct tegra_pcie *pcie,
|
||||
if (IS_ERR(bus))
|
||||
return NULL;
|
||||
|
||||
list_add_tail(&bus->list, &pcie->busses);
|
||||
list_add_tail(&bus->list, &pcie->buses);
|
||||
|
||||
return (void __iomem *)bus->area->addr;
|
||||
}
|
||||
@@ -808,7 +808,7 @@ static int tegra_pcie_enable_controller(struct tegra_pcie *pcie)
|
||||
value &= ~AFI_FUSE_PCIE_T0_GEN2_DIS;
|
||||
afi_writel(pcie, value, AFI_FUSE);
|
||||
|
||||
/* initialze internal PHY, enable up to 16 PCIE lanes */
|
||||
/* initialize internal PHY, enable up to 16 PCIE lanes */
|
||||
pads_writel(pcie, 0x0, PADS_CTL_SEL);
|
||||
|
||||
/* override IDDQ to 1 on all 4 lanes */
|
||||
@@ -1624,7 +1624,7 @@ static int tegra_pcie_probe(struct platform_device *pdev)
|
||||
if (!pcie)
|
||||
return -ENOMEM;
|
||||
|
||||
INIT_LIST_HEAD(&pcie->busses);
|
||||
INIT_LIST_HEAD(&pcie->buses);
|
||||
INIT_LIST_HEAD(&pcie->ports);
|
||||
pcie->soc_data = match->data;
|
||||
pcie->dev = &pdev->dev;
|
||||
|
||||
@@ -197,7 +197,7 @@ static int find_valid_pos0(struct pcie_port *pp, int msgvec, int pos, int *pos0)
|
||||
return -ENOSPC;
|
||||
/*
|
||||
* Check if this position is at correct offset.nvec is always a
|
||||
* power of two. pos0 must be nvec bit alligned.
|
||||
* power of two. pos0 must be nvec bit aligned.
|
||||
*/
|
||||
if (pos % msgvec)
|
||||
pos += msgvec - (pos % msgvec);
|
||||
|
||||
@@ -133,8 +133,8 @@ config HOTPLUG_PCI_RPA_DLPAR
|
||||
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called rpadlpar_io.
|
||||
|
||||
When in doubt, say N.
|
||||
|
||||
When in doubt, say N.
|
||||
|
||||
config HOTPLUG_PCI_SGI
|
||||
tristate "SGI PCI Hotplug Support"
|
||||
|
||||
@@ -31,7 +31,7 @@ pci_hotplug-objs += cpci_hotplug_core.o \
|
||||
cpci_hotplug_pci.o
|
||||
endif
|
||||
ifdef CONFIG_ACPI
|
||||
pci_hotplug-objs += acpi_pcihp.o
|
||||
pci_hotplug-objs += acpi_pcihp.o
|
||||
endif
|
||||
|
||||
cpqphp-objs := cpqphp_core.o \
|
||||
|
||||
@@ -111,7 +111,7 @@ int acpiphp_register_attention(struct acpiphp_attention_info *info)
|
||||
* @info: must match the pointer used to register
|
||||
*
|
||||
* Description: This is used to un-register a hardware specific acpi
|
||||
* driver that manipulates the attention LED. The pointer to the
|
||||
* driver that manipulates the attention LED. The pointer to the
|
||||
* info struct must be the same as the one used to set it.
|
||||
*/
|
||||
int acpiphp_unregister_attention(struct acpiphp_attention_info *info)
|
||||
@@ -169,8 +169,8 @@ static int disable_slot(struct hotplug_slot *hotplug_slot)
|
||||
* was registered with us. This allows hardware specific
|
||||
* ACPI implementations to blink the light for us.
|
||||
*/
|
||||
static int set_attention_status(struct hotplug_slot *hotplug_slot, u8 status)
|
||||
{
|
||||
static int set_attention_status(struct hotplug_slot *hotplug_slot, u8 status)
|
||||
{
|
||||
int retval = -ENODEV;
|
||||
|
||||
pr_debug("%s - physical_slot = %s\n", __func__,
|
||||
@@ -182,8 +182,8 @@ static int disable_slot(struct hotplug_slot *hotplug_slot)
|
||||
} else
|
||||
attention_info = NULL;
|
||||
return retval;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* get_power_status - get power status of a slot
|
||||
@@ -323,7 +323,7 @@ int acpiphp_register_hotplug_slot(struct acpiphp_slot *acpiphp_slot,
|
||||
if (retval) {
|
||||
pr_err("pci_hp_register failed with error %d\n", retval);
|
||||
goto error_hpslot;
|
||||
}
|
||||
}
|
||||
|
||||
pr_info("Slot [%s] registered\n", slot_name(slot));
|
||||
|
||||
|
||||
@@ -325,7 +325,7 @@ static acpi_status register_slot(acpi_handle handle, u32 lvl, void *data,
|
||||
|
||||
list_add_tail(&slot->node, &bridge->slots);
|
||||
|
||||
/* Register slots for ejectable funtions only. */
|
||||
/* Register slots for ejectable functions only. */
|
||||
if (acpi_pci_check_ejectable(pbus, handle) || is_dock_device(handle)) {
|
||||
unsigned long long sun;
|
||||
int retval;
|
||||
|
||||
@@ -116,7 +116,7 @@ static struct bin_attribute ibm_apci_table_attr = {
|
||||
.read = ibm_read_apci_table,
|
||||
.write = NULL,
|
||||
};
|
||||
static struct acpiphp_attention_info ibm_attention_info =
|
||||
static struct acpiphp_attention_info ibm_attention_info =
|
||||
{
|
||||
.set_attn = ibm_set_attention_status,
|
||||
.get_attn = ibm_get_attention_status,
|
||||
@@ -171,9 +171,9 @@ ibm_slot_done:
|
||||
*/
|
||||
static int ibm_set_attention_status(struct hotplug_slot *slot, u8 status)
|
||||
{
|
||||
union acpi_object args[2];
|
||||
union acpi_object args[2];
|
||||
struct acpi_object_list params = { .pointer = args, .count = 2 };
|
||||
acpi_status stat;
|
||||
acpi_status stat;
|
||||
unsigned long long rc;
|
||||
union apci_descriptor *ibm_slot;
|
||||
|
||||
@@ -208,7 +208,7 @@ static int ibm_set_attention_status(struct hotplug_slot *slot, u8 status)
|
||||
*
|
||||
* Description: This method is registered with the acpiphp module as a
|
||||
* callback to do the device specific task of getting the LED status.
|
||||
*
|
||||
*
|
||||
* Because there is no direct method of getting the LED status directly
|
||||
* from an ACPI call, we read the aPCI table and parse out our
|
||||
* slot descriptor to read the status from that.
|
||||
@@ -259,7 +259,7 @@ static void ibm_handle_events(acpi_handle handle, u32 event, void *context)
|
||||
pr_debug("%s: Received notification %02x\n", __func__, event);
|
||||
|
||||
if (subevent == 0x80) {
|
||||
pr_debug("%s: generationg bus event\n", __func__);
|
||||
pr_debug("%s: generating bus event\n", __func__);
|
||||
acpi_bus_generate_netlink_event(note->device->pnp.device_class,
|
||||
dev_name(¬e->device->dev),
|
||||
note->event, detail);
|
||||
@@ -387,7 +387,7 @@ static acpi_status __init ibm_find_acpi_device(acpi_handle handle,
|
||||
u32 lvl, void *context, void **rv)
|
||||
{
|
||||
acpi_handle *phandle = (acpi_handle *)context;
|
||||
acpi_status status;
|
||||
acpi_status status;
|
||||
struct acpi_device_info *info;
|
||||
int retval = 0;
|
||||
|
||||
@@ -405,7 +405,7 @@ static acpi_status __init ibm_find_acpi_device(acpi_handle handle,
|
||||
info->hardware_id.string, handle);
|
||||
*phandle = handle;
|
||||
/* returning non-zero causes the search to stop
|
||||
* and returns this value to the caller of
|
||||
* and returns this value to the caller of
|
||||
* acpi_walk_namespace, but it also causes some warnings
|
||||
* in the acpi debug code to print...
|
||||
*/
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
do { \
|
||||
if (cpci_debug) \
|
||||
printk (KERN_DEBUG "%s: " format "\n", \
|
||||
MY_NAME , ## arg); \
|
||||
MY_NAME , ## arg); \
|
||||
} while (0)
|
||||
#define err(format, arg...) printk(KERN_ERR "%s: " format "\n", MY_NAME , ## arg)
|
||||
#define info(format, arg...) printk(KERN_INFO "%s: " format "\n", MY_NAME , ## arg)
|
||||
|
||||
@@ -39,7 +39,7 @@ extern int cpci_debug;
|
||||
do { \
|
||||
if (cpci_debug) \
|
||||
printk (KERN_DEBUG "%s: " format "\n", \
|
||||
MY_NAME , ## arg); \
|
||||
MY_NAME , ## arg); \
|
||||
} while (0)
|
||||
#define err(format, arg...) printk(KERN_ERR "%s: " format "\n", MY_NAME , ## arg)
|
||||
#define info(format, arg...) printk(KERN_INFO "%s: " format "\n", MY_NAME , ## arg)
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
* option) any later version.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
* THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
* THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
@@ -53,9 +53,9 @@
|
||||
|
||||
#define dbg(format, arg...) \
|
||||
do { \
|
||||
if(debug) \
|
||||
if (debug) \
|
||||
printk (KERN_DEBUG "%s: " format "\n", \
|
||||
MY_NAME , ## arg); \
|
||||
MY_NAME , ## arg); \
|
||||
} while(0)
|
||||
#define err(format, arg...) printk(KERN_ERR "%s: " format "\n", MY_NAME , ## arg)
|
||||
#define info(format, arg...) printk(KERN_INFO "%s: " format "\n", MY_NAME , ## arg)
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
* option) any later version.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
* THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
* THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
@@ -48,9 +48,9 @@
|
||||
|
||||
#define dbg(format, arg...) \
|
||||
do { \
|
||||
if(debug) \
|
||||
if (debug) \
|
||||
printk (KERN_DEBUG "%s: " format "\n", \
|
||||
MY_NAME , ## arg); \
|
||||
MY_NAME , ## arg); \
|
||||
} while(0)
|
||||
#define err(format, arg...) printk(KERN_ERR "%s: " format "\n", MY_NAME , ## arg)
|
||||
#define info(format, arg...) printk(KERN_INFO "%s: " format "\n", MY_NAME , ## arg)
|
||||
@@ -285,7 +285,7 @@ static struct pci_device_id zt5550_hc_pci_tbl[] = {
|
||||
{ 0, }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(pci, zt5550_hc_pci_tbl);
|
||||
|
||||
|
||||
static struct pci_driver zt5550_hc_driver = {
|
||||
.name = "zt5550_hc",
|
||||
.id_table = zt5550_hc_pci_tbl,
|
||||
|
||||
@@ -13,14 +13,14 @@
|
||||
* option) any later version.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
* THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
* THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
@@ -55,7 +55,7 @@
|
||||
#define HC_CMD_REG 0x0C
|
||||
#define ARB_CONFIG_GNT_REG 0x10
|
||||
#define ARB_CONFIG_CFG_REG 0x12
|
||||
#define ARB_CONFIG_REG 0x10
|
||||
#define ARB_CONFIG_REG 0x10
|
||||
#define ISOL_CONFIG_REG 0x18
|
||||
#define FAULT_STATUS_REG 0x20
|
||||
#define FAULT_CONFIG_REG 0x24
|
||||
|
||||
@@ -862,10 +862,10 @@ static int cpqhpc_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
goto err_disable_device;
|
||||
}
|
||||
|
||||
/* Check for the proper subsystem ID's
|
||||
/* Check for the proper subsystem IDs
|
||||
* Intel uses a different SSID programming model than Compaq.
|
||||
* For Intel, each SSID bit identifies a PHP capability.
|
||||
* Also Intel HPC's may have RID=0.
|
||||
* Also Intel HPCs may have RID=0.
|
||||
*/
|
||||
if ((pdev->revision <= 2) && (vendor_id != PCI_VENDOR_ID_INTEL)) {
|
||||
err(msg_HPC_not_supported);
|
||||
|
||||
@@ -1231,7 +1231,7 @@ static u8 set_controller_speed(struct controller *ctrl, u8 adapter_speed, u8 hp_
|
||||
|
||||
/* Only if mode change...*/
|
||||
if (((bus->cur_bus_speed == PCI_SPEED_66MHz) && (adapter_speed == PCI_SPEED_66MHz_PCIX)) ||
|
||||
((bus->cur_bus_speed == PCI_SPEED_66MHz_PCIX) && (adapter_speed == PCI_SPEED_66MHz)))
|
||||
((bus->cur_bus_speed == PCI_SPEED_66MHz_PCIX) && (adapter_speed == PCI_SPEED_66MHz)))
|
||||
set_SOGO(ctrl);
|
||||
|
||||
wait_for_ctrl_irq(ctrl);
|
||||
@@ -1828,7 +1828,7 @@ static void interrupt_event_handler(struct controller *ctrl)
|
||||
|
||||
if (ctrl->event_queue[loop].event_type == INT_BUTTON_PRESS) {
|
||||
dbg("button pressed\n");
|
||||
} else if (ctrl->event_queue[loop].event_type ==
|
||||
} else if (ctrl->event_queue[loop].event_type ==
|
||||
INT_BUTTON_CANCEL) {
|
||||
dbg("button cancel\n");
|
||||
del_timer(&p_slot->task_event);
|
||||
@@ -2411,11 +2411,11 @@ static int configure_new_function(struct controller *ctrl, struct pci_func *func
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
/* find range of busses to use */
|
||||
/* find range of buses to use */
|
||||
dbg("find ranges of buses to use\n");
|
||||
bus_node = get_max_resource(&(resources->bus_head), 1);
|
||||
|
||||
/* If we don't have any busses to allocate, we can't continue */
|
||||
/* If we don't have any buses to allocate, we can't continue */
|
||||
if (!bus_node)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -2900,7 +2900,7 @@ static int configure_new_function(struct controller *ctrl, struct pci_func *func
|
||||
|
||||
/* If this function needs an interrupt and we are behind
|
||||
* a bridge and the pin is tied to something that's
|
||||
* alread mapped, set this one the same */
|
||||
* already mapped, set this one the same */
|
||||
if (temp_byte && resources->irqs &&
|
||||
(resources->irqs->valid_INT &
|
||||
(0x01 << ((temp_byte + resources->irqs->barber_pole - 1) & 0x03)))) {
|
||||
|
||||
@@ -291,7 +291,7 @@ int cpqhp_get_bus_dev (struct controller *ctrl, u8 * bus_num, u8 * dev_num, u8 s
|
||||
*
|
||||
* Reads configuration for all slots in a PCI bus and saves info.
|
||||
*
|
||||
* Note: For non-hot plug busses, the slot # saved is the device #
|
||||
* Note: For non-hot plug buses, the slot # saved is the device #
|
||||
*
|
||||
* returns 0 if success
|
||||
*/
|
||||
@@ -455,7 +455,7 @@ int cpqhp_save_config(struct controller *ctrl, int busnumber, int is_hot_plug)
|
||||
* cpqhp_save_slot_config
|
||||
*
|
||||
* Saves configuration info for all PCI devices in a given slot
|
||||
* including subordinate busses.
|
||||
* including subordinate buses.
|
||||
*
|
||||
* returns 0 if success
|
||||
*/
|
||||
@@ -1556,4 +1556,3 @@ void cpqhp_destroy_board_resources (struct pci_func * func)
|
||||
kfree(tres);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ extern int ibmphp_debug;
|
||||
|
||||
|
||||
/************************************************************
|
||||
* RESOURE TYPE *
|
||||
* RESOURCE TYPE *
|
||||
************************************************************/
|
||||
|
||||
#define EBDA_RSRC_TYPE_MASK 0x03
|
||||
@@ -103,7 +103,7 @@ extern int ibmphp_debug;
|
||||
//--------------------------------------------------------------
|
||||
|
||||
struct rio_table_hdr {
|
||||
u8 ver_num;
|
||||
u8 ver_num;
|
||||
u8 scal_count;
|
||||
u8 riodev_count;
|
||||
u16 offset;
|
||||
@@ -127,7 +127,7 @@ struct scal_detail {
|
||||
};
|
||||
|
||||
//--------------------------------------------------------------
|
||||
// RIO DETAIL
|
||||
// RIO DETAIL
|
||||
//--------------------------------------------------------------
|
||||
|
||||
struct rio_detail {
|
||||
@@ -152,7 +152,7 @@ struct opt_rio {
|
||||
u8 first_slot_num;
|
||||
u8 middle_num;
|
||||
struct list_head opt_rio_list;
|
||||
};
|
||||
};
|
||||
|
||||
struct opt_rio_lo {
|
||||
u8 rio_type;
|
||||
@@ -161,7 +161,7 @@ struct opt_rio_lo {
|
||||
u8 middle_num;
|
||||
u8 pack_count;
|
||||
struct list_head opt_rio_lo_list;
|
||||
};
|
||||
};
|
||||
|
||||
/****************************************************************
|
||||
* HPC DESCRIPTOR NODE *
|
||||
@@ -574,7 +574,7 @@ void ibmphp_hpc_stop_poll_thread(void);
|
||||
#define HPC_CTLR_IRQ_PENDG 0x80
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// HPC_CTLR_WROKING status return codes
|
||||
// HPC_CTLR_WORKING status return codes
|
||||
//----------------------------------------------------------------------------
|
||||
#define HPC_CTLR_WORKING_NO 0x00
|
||||
#define HPC_CTLR_WORKING_YES 0x01
|
||||
|
||||
@@ -58,7 +58,7 @@ MODULE_DESCRIPTION (DRIVER_DESC);
|
||||
struct pci_bus *ibmphp_pci_bus;
|
||||
static int max_slots;
|
||||
|
||||
static int irqs[16]; /* PIC mode IRQ's we're using so far (in case MPS
|
||||
static int irqs[16]; /* PIC mode IRQs we're using so far (in case MPS
|
||||
* tables don't provide default info for empty slots */
|
||||
|
||||
static int init_flag;
|
||||
@@ -71,20 +71,20 @@ static inline int get_max_adapter_speed (struct hotplug_slot *hs, u8 *value)
|
||||
return get_max_adapter_speed_1 (hs, value, 1);
|
||||
}
|
||||
*/
|
||||
static inline int get_cur_bus_info(struct slot **sl)
|
||||
static inline int get_cur_bus_info(struct slot **sl)
|
||||
{
|
||||
int rc = 1;
|
||||
struct slot * slot_cur = *sl;
|
||||
|
||||
debug("options = %x\n", slot_cur->ctrl->options);
|
||||
debug("revision = %x\n", slot_cur->ctrl->revision);
|
||||
debug("revision = %x\n", slot_cur->ctrl->revision);
|
||||
|
||||
if (READ_BUS_STATUS(slot_cur->ctrl))
|
||||
if (READ_BUS_STATUS(slot_cur->ctrl))
|
||||
rc = ibmphp_hpc_readslot(slot_cur, READ_BUSSTATUS, NULL);
|
||||
|
||||
if (rc)
|
||||
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
|
||||
slot_cur->bus_on->current_speed = CURRENT_BUS_SPEED(slot_cur->busstatus);
|
||||
if (READ_BUS_MODE(slot_cur->ctrl))
|
||||
slot_cur->bus_on->current_bus_mode =
|
||||
@@ -96,7 +96,7 @@ static inline int get_cur_bus_info(struct slot **sl)
|
||||
slot_cur->busstatus,
|
||||
slot_cur->bus_on->current_speed,
|
||||
slot_cur->bus_on->current_bus_mode);
|
||||
|
||||
|
||||
*sl = slot_cur;
|
||||
return 0;
|
||||
}
|
||||
@@ -104,8 +104,8 @@ static inline int get_cur_bus_info(struct slot **sl)
|
||||
static inline int slot_update(struct slot **sl)
|
||||
{
|
||||
int rc;
|
||||
rc = ibmphp_hpc_readslot(*sl, READ_ALLSTAT, NULL);
|
||||
if (rc)
|
||||
rc = ibmphp_hpc_readslot(*sl, READ_ALLSTAT, NULL);
|
||||
if (rc)
|
||||
return rc;
|
||||
if (!init_flag)
|
||||
rc = get_cur_bus_info(sl);
|
||||
@@ -172,7 +172,7 @@ int ibmphp_init_devno(struct slot **cur_slot)
|
||||
debug("(*cur_slot)->irq[3] = %x\n",
|
||||
(*cur_slot)->irq[3]);
|
||||
|
||||
debug("rtable->exlusive_irqs = %x\n",
|
||||
debug("rtable->exclusive_irqs = %x\n",
|
||||
rtable->exclusive_irqs);
|
||||
debug("rtable->slots[loop].irq[0].bitmap = %x\n",
|
||||
rtable->slots[loop].irq[0].bitmap);
|
||||
@@ -271,7 +271,7 @@ static int set_attention_status(struct hotplug_slot *hotplug_slot, u8 value)
|
||||
else
|
||||
rc = -ENODEV;
|
||||
}
|
||||
} else
|
||||
} else
|
||||
rc = -ENODEV;
|
||||
|
||||
ibmphp_unlock_operations();
|
||||
@@ -288,7 +288,7 @@ static int get_attention_status(struct hotplug_slot *hotplug_slot, u8 * value)
|
||||
|
||||
debug("get_attention_status - Entry hotplug_slot[%lx] pvalue[%lx]\n",
|
||||
(ulong) hotplug_slot, (ulong) value);
|
||||
|
||||
|
||||
ibmphp_lock_operations();
|
||||
if (hotplug_slot) {
|
||||
pslot = hotplug_slot->private;
|
||||
@@ -406,14 +406,14 @@ static int get_max_bus_speed(struct slot *slot)
|
||||
|
||||
ibmphp_lock_operations();
|
||||
mode = slot->supported_bus_mode;
|
||||
speed = slot->supported_speed;
|
||||
speed = slot->supported_speed;
|
||||
ibmphp_unlock_operations();
|
||||
|
||||
switch (speed) {
|
||||
case BUS_SPEED_33:
|
||||
break;
|
||||
case BUS_SPEED_66:
|
||||
if (mode == BUS_MODE_PCIX)
|
||||
if (mode == BUS_MODE_PCIX)
|
||||
speed += 0x01;
|
||||
break;
|
||||
case BUS_SPEED_100:
|
||||
@@ -515,13 +515,13 @@ static int __init init_ops(void)
|
||||
|
||||
debug("BEFORE GETTING SLOT STATUS, slot # %x\n",
|
||||
slot_cur->number);
|
||||
if (slot_cur->ctrl->revision == 0xFF)
|
||||
if (slot_cur->ctrl->revision == 0xFF)
|
||||
if (get_ctrl_revision(slot_cur,
|
||||
&slot_cur->ctrl->revision))
|
||||
return -1;
|
||||
|
||||
if (slot_cur->bus_on->current_speed == 0xFF)
|
||||
if (get_cur_bus_info(&slot_cur))
|
||||
if (slot_cur->bus_on->current_speed == 0xFF)
|
||||
if (get_cur_bus_info(&slot_cur))
|
||||
return -1;
|
||||
get_max_bus_speed(slot_cur);
|
||||
|
||||
@@ -539,8 +539,8 @@ static int __init init_ops(void)
|
||||
debug("SLOT_PRESENT = %x\n", SLOT_PRESENT(slot_cur->status));
|
||||
debug("SLOT_LATCH = %x\n", SLOT_LATCH(slot_cur->status));
|
||||
|
||||
if ((SLOT_PWRGD(slot_cur->status)) &&
|
||||
!(SLOT_PRESENT(slot_cur->status)) &&
|
||||
if ((SLOT_PWRGD(slot_cur->status)) &&
|
||||
!(SLOT_PRESENT(slot_cur->status)) &&
|
||||
!(SLOT_LATCH(slot_cur->status))) {
|
||||
debug("BEFORE POWER OFF COMMAND\n");
|
||||
rc = power_off(slot_cur);
|
||||
@@ -581,13 +581,13 @@ static int validate(struct slot *slot_cur, int opn)
|
||||
|
||||
switch (opn) {
|
||||
case ENABLE:
|
||||
if (!(SLOT_PWRGD(slot_cur->status)) &&
|
||||
(SLOT_PRESENT(slot_cur->status)) &&
|
||||
if (!(SLOT_PWRGD(slot_cur->status)) &&
|
||||
(SLOT_PRESENT(slot_cur->status)) &&
|
||||
!(SLOT_LATCH(slot_cur->status)))
|
||||
return 0;
|
||||
break;
|
||||
case DISABLE:
|
||||
if ((SLOT_PWRGD(slot_cur->status)) &&
|
||||
if ((SLOT_PWRGD(slot_cur->status)) &&
|
||||
(SLOT_PRESENT(slot_cur->status)) &&
|
||||
!(SLOT_LATCH(slot_cur->status)))
|
||||
return 0;
|
||||
@@ -617,7 +617,7 @@ int ibmphp_update_slot_info(struct slot *slot_cur)
|
||||
err("out of system memory\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
|
||||
info->power_status = SLOT_PWRGD(slot_cur->status);
|
||||
info->attention_status = SLOT_ATTN(slot_cur->status,
|
||||
slot_cur->ext_status);
|
||||
@@ -638,7 +638,7 @@ int ibmphp_update_slot_info(struct slot *slot_cur)
|
||||
case BUS_SPEED_33:
|
||||
break;
|
||||
case BUS_SPEED_66:
|
||||
if (mode == BUS_MODE_PCIX)
|
||||
if (mode == BUS_MODE_PCIX)
|
||||
bus_speed += 0x01;
|
||||
else if (mode == BUS_MODE_PCI)
|
||||
;
|
||||
@@ -654,8 +654,8 @@ int ibmphp_update_slot_info(struct slot *slot_cur)
|
||||
}
|
||||
|
||||
bus->cur_bus_speed = bus_speed;
|
||||
// To do: bus_names
|
||||
|
||||
// To do: bus_names
|
||||
|
||||
rc = pci_hp_change_slot_info(slot_cur->hotplug_slot, info);
|
||||
kfree(info);
|
||||
return rc;
|
||||
@@ -729,8 +729,8 @@ static void ibm_unconfigure_device(struct pci_func *func)
|
||||
}
|
||||
|
||||
/*
|
||||
* The following function is to fix kernel bug regarding
|
||||
* getting bus entries, here we manually add those primary
|
||||
* The following function is to fix kernel bug regarding
|
||||
* getting bus entries, here we manually add those primary
|
||||
* bus entries to kernel bus structure whenever apply
|
||||
*/
|
||||
static u8 bus_structure_fixup(u8 busno)
|
||||
@@ -814,7 +814,7 @@ static int ibm_configure_device(struct pci_func *func)
|
||||
}
|
||||
|
||||
/*******************************************************
|
||||
* Returns whether the bus is empty or not
|
||||
* Returns whether the bus is empty or not
|
||||
*******************************************************/
|
||||
static int is_bus_empty(struct slot * slot_cur)
|
||||
{
|
||||
@@ -842,7 +842,7 @@ static int is_bus_empty(struct slot * slot_cur)
|
||||
}
|
||||
|
||||
/***********************************************************
|
||||
* If the HPC permits and the bus currently empty, tries to set the
|
||||
* If the HPC permits and the bus currently empty, tries to set the
|
||||
* bus speed and mode at the maximum card and bus capability
|
||||
* Parameters: slot
|
||||
* Returns: bus is set (0) or error code
|
||||
@@ -856,7 +856,7 @@ static int set_bus(struct slot * slot_cur)
|
||||
static struct pci_device_id ciobx[] = {
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_SERVERWORKS, 0x0101) },
|
||||
{ },
|
||||
};
|
||||
};
|
||||
|
||||
debug("%s - entry slot # %d\n", __func__, slot_cur->number);
|
||||
if (SET_BUS_STATUS(slot_cur->ctrl) && is_bus_empty(slot_cur)) {
|
||||
@@ -877,7 +877,7 @@ static int set_bus(struct slot * slot_cur)
|
||||
else if (!SLOT_BUS_MODE(slot_cur->ext_status))
|
||||
/* if max slot/bus capability is 66 pci
|
||||
and there's no bus mode mismatch, then
|
||||
the adapter supports 66 pci */
|
||||
the adapter supports 66 pci */
|
||||
cmd = HPC_BUS_66CONVMODE;
|
||||
else
|
||||
cmd = HPC_BUS_33CONVMODE;
|
||||
@@ -930,7 +930,7 @@ static int set_bus(struct slot * slot_cur)
|
||||
return -EIO;
|
||||
}
|
||||
}
|
||||
/* This is for x440, once Brandon fixes the firmware,
|
||||
/* This is for x440, once Brandon fixes the firmware,
|
||||
will not need this delay */
|
||||
msleep(1000);
|
||||
debug("%s -Exit\n", __func__);
|
||||
@@ -938,9 +938,9 @@ static int set_bus(struct slot * slot_cur)
|
||||
}
|
||||
|
||||
/* This routine checks the bus limitations that the slot is on from the BIOS.
|
||||
* This is used in deciding whether or not to power up the slot.
|
||||
* This is used in deciding whether or not to power up the slot.
|
||||
* (electrical/spec limitations. For example, >1 133 MHz or >2 66 PCI cards on
|
||||
* same bus)
|
||||
* same bus)
|
||||
* Parameters: slot
|
||||
* Returns: 0 = no limitations, -EINVAL = exceeded limitations on the bus
|
||||
*/
|
||||
@@ -986,7 +986,7 @@ static int check_limitations(struct slot *slot_cur)
|
||||
static inline void print_card_capability(struct slot *slot_cur)
|
||||
{
|
||||
info("capability of the card is ");
|
||||
if ((slot_cur->ext_status & CARD_INFO) == PCIX133)
|
||||
if ((slot_cur->ext_status & CARD_INFO) == PCIX133)
|
||||
info(" 133 MHz PCI-X\n");
|
||||
else if ((slot_cur->ext_status & CARD_INFO) == PCIX66)
|
||||
info(" 66 MHz PCI-X\n");
|
||||
@@ -1020,7 +1020,7 @@ static int enable_slot(struct hotplug_slot *hs)
|
||||
}
|
||||
|
||||
attn_LED_blink(slot_cur);
|
||||
|
||||
|
||||
rc = set_bus(slot_cur);
|
||||
if (rc) {
|
||||
err("was not able to set the bus\n");
|
||||
@@ -1082,7 +1082,7 @@ static int enable_slot(struct hotplug_slot *hs)
|
||||
rc = slot_update(&slot_cur);
|
||||
if (rc)
|
||||
goto error_power;
|
||||
|
||||
|
||||
rc = -EINVAL;
|
||||
if (SLOT_POWER(slot_cur->status) && !(SLOT_PWRGD(slot_cur->status))) {
|
||||
err("power fault occurred trying to power up...\n");
|
||||
@@ -1093,7 +1093,7 @@ static int enable_slot(struct hotplug_slot *hs)
|
||||
"speed and card capability\n");
|
||||
print_card_capability(slot_cur);
|
||||
goto error_power;
|
||||
}
|
||||
}
|
||||
/* Don't think this case will happen after above checks...
|
||||
* but just in case, for paranoia sake */
|
||||
if (!(SLOT_POWER(slot_cur->status))) {
|
||||
@@ -1144,7 +1144,7 @@ static int enable_slot(struct hotplug_slot *hs)
|
||||
ibmphp_print_test();
|
||||
rc = ibmphp_update_slot_info(slot_cur);
|
||||
exit:
|
||||
ibmphp_unlock_operations();
|
||||
ibmphp_unlock_operations();
|
||||
return rc;
|
||||
|
||||
error_nopower:
|
||||
@@ -1180,7 +1180,7 @@ static int ibmphp_disable_slot(struct hotplug_slot *hotplug_slot)
|
||||
{
|
||||
struct slot *slot = hotplug_slot->private;
|
||||
int rc;
|
||||
|
||||
|
||||
ibmphp_lock_operations();
|
||||
rc = ibmphp_do_disable_slot(slot);
|
||||
ibmphp_unlock_operations();
|
||||
@@ -1192,12 +1192,12 @@ int ibmphp_do_disable_slot(struct slot *slot_cur)
|
||||
int rc;
|
||||
u8 flag;
|
||||
|
||||
debug("DISABLING SLOT...\n");
|
||||
|
||||
debug("DISABLING SLOT...\n");
|
||||
|
||||
if ((slot_cur == NULL) || (slot_cur->ctrl == NULL)) {
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
|
||||
flag = slot_cur->flag;
|
||||
slot_cur->flag = 1;
|
||||
|
||||
@@ -1210,7 +1210,7 @@ int ibmphp_do_disable_slot(struct slot *slot_cur)
|
||||
attn_LED_blink(slot_cur);
|
||||
|
||||
if (slot_cur->func == NULL) {
|
||||
/* We need this for fncs's that were there on bootup */
|
||||
/* We need this for functions that were there on bootup */
|
||||
slot_cur->func = kzalloc(sizeof(struct pci_func), GFP_KERNEL);
|
||||
if (!slot_cur->func) {
|
||||
err("out of system memory\n");
|
||||
@@ -1222,12 +1222,13 @@ int ibmphp_do_disable_slot(struct slot *slot_cur)
|
||||
}
|
||||
|
||||
ibm_unconfigure_device(slot_cur->func);
|
||||
|
||||
/* If we got here from latch suddenly opening on operating card or
|
||||
a power fault, there's no power to the card, so cannot
|
||||
read from it to determine what resources it occupied. This operation
|
||||
is forbidden anyhow. The best we can do is remove it from kernel
|
||||
lists at least */
|
||||
|
||||
/*
|
||||
* If we got here from latch suddenly opening on operating card or
|
||||
* a power fault, there's no power to the card, so cannot
|
||||
* read from it to determine what resources it occupied. This operation
|
||||
* is forbidden anyhow. The best we can do is remove it from kernel
|
||||
* lists at least */
|
||||
|
||||
if (!flag) {
|
||||
attn_off(slot_cur);
|
||||
@@ -1264,7 +1265,7 @@ error:
|
||||
rc = -EFAULT;
|
||||
goto exit;
|
||||
}
|
||||
if (flag)
|
||||
if (flag)
|
||||
ibmphp_update_slot_info(slot_cur);
|
||||
goto exit;
|
||||
}
|
||||
@@ -1339,7 +1340,7 @@ static int __init ibmphp_init(void)
|
||||
debug("AFTER Resource & EBDA INITIALIZATIONS\n");
|
||||
|
||||
max_slots = get_max_slots();
|
||||
|
||||
|
||||
if ((rc = ibmphp_register_pci()))
|
||||
goto error;
|
||||
|
||||
|
||||
@@ -123,7 +123,7 @@ static struct ebda_pci_rsrc *alloc_ebda_pci_rsrc (void)
|
||||
static void __init print_bus_info (void)
|
||||
{
|
||||
struct bus_info *ptr;
|
||||
|
||||
|
||||
list_for_each_entry(ptr, &bus_info_head, bus_info_list) {
|
||||
debug ("%s - slot_min = %x\n", __func__, ptr->slot_min);
|
||||
debug ("%s - slot_max = %x\n", __func__, ptr->slot_max);
|
||||
@@ -131,7 +131,7 @@ static void __init print_bus_info (void)
|
||||
debug ("%s - bus# = %x\n", __func__, ptr->busno);
|
||||
debug ("%s - current_speed = %x\n", __func__, ptr->current_speed);
|
||||
debug ("%s - controller_id = %x\n", __func__, ptr->controller_id);
|
||||
|
||||
|
||||
debug ("%s - slots_at_33_conv = %x\n", __func__, ptr->slots_at_33_conv);
|
||||
debug ("%s - slots_at_66_conv = %x\n", __func__, ptr->slots_at_66_conv);
|
||||
debug ("%s - slots_at_66_pcix = %x\n", __func__, ptr->slots_at_66_pcix);
|
||||
@@ -144,7 +144,7 @@ static void __init print_bus_info (void)
|
||||
static void print_lo_info (void)
|
||||
{
|
||||
struct rio_detail *ptr;
|
||||
debug ("print_lo_info ----\n");
|
||||
debug ("print_lo_info ----\n");
|
||||
list_for_each_entry(ptr, &rio_lo_head, rio_detail_list) {
|
||||
debug ("%s - rio_node_id = %x\n", __func__, ptr->rio_node_id);
|
||||
debug ("%s - rio_type = %x\n", __func__, ptr->rio_type);
|
||||
@@ -176,7 +176,7 @@ static void __init print_ebda_pci_rsrc (void)
|
||||
struct ebda_pci_rsrc *ptr;
|
||||
|
||||
list_for_each_entry(ptr, &ibmphp_ebda_pci_rsrc_head, ebda_pci_rsrc_list) {
|
||||
debug ("%s - rsrc type: %x bus#: %x dev_func: %x start addr: %x end addr: %x\n",
|
||||
debug ("%s - rsrc type: %x bus#: %x dev_func: %x start addr: %x end addr: %x\n",
|
||||
__func__, ptr->rsrc_type ,ptr->bus_num, ptr->dev_fun,ptr->start_addr, ptr->end_addr);
|
||||
}
|
||||
}
|
||||
@@ -259,7 +259,7 @@ int __init ibmphp_access_ebda (void)
|
||||
ebda_seg = readw (io_mem);
|
||||
iounmap (io_mem);
|
||||
debug ("returned ebda segment: %x\n", ebda_seg);
|
||||
|
||||
|
||||
io_mem = ioremap(ebda_seg<<4, 1);
|
||||
if (!io_mem)
|
||||
return -ENOMEM;
|
||||
@@ -310,7 +310,7 @@ int __init ibmphp_access_ebda (void)
|
||||
re = readw (io_mem + sub_addr); /* next sub blk */
|
||||
|
||||
sub_addr += 2;
|
||||
rc_id = readw (io_mem + sub_addr); /* sub blk id */
|
||||
rc_id = readw (io_mem + sub_addr); /* sub blk id */
|
||||
|
||||
sub_addr += 2;
|
||||
if (rc_id != 0x5243)
|
||||
@@ -330,7 +330,7 @@ int __init ibmphp_access_ebda (void)
|
||||
debug ("info about hpc descriptor---\n");
|
||||
debug ("hot blk format: %x\n", format);
|
||||
debug ("num of controller: %x\n", num_ctlrs);
|
||||
debug ("offset of hpc data structure enteries: %x\n ", sub_addr);
|
||||
debug ("offset of hpc data structure entries: %x\n ", sub_addr);
|
||||
|
||||
sub_addr = base + re; /* re sub blk */
|
||||
/* FIXME: rc is never used/checked */
|
||||
@@ -359,7 +359,7 @@ int __init ibmphp_access_ebda (void)
|
||||
debug ("info about rsrc descriptor---\n");
|
||||
debug ("format: %x\n", format);
|
||||
debug ("num of rsrc: %x\n", num_entries);
|
||||
debug ("offset of rsrc data structure enteries: %x\n ", sub_addr);
|
||||
debug ("offset of rsrc data structure entries: %x\n ", sub_addr);
|
||||
|
||||
hs_complete = 1;
|
||||
} else {
|
||||
@@ -376,7 +376,7 @@ int __init ibmphp_access_ebda (void)
|
||||
rio_table_ptr->scal_count = readb (io_mem + offset + 1);
|
||||
rio_table_ptr->riodev_count = readb (io_mem + offset + 2);
|
||||
rio_table_ptr->offset = offset +3 ;
|
||||
|
||||
|
||||
debug("info about rio table hdr ---\n");
|
||||
debug("ver_num: %x\nscal_count: %x\nriodev_count: %x\noffset of rio table: %x\n ",
|
||||
rio_table_ptr->ver_num, rio_table_ptr->scal_count,
|
||||
@@ -440,12 +440,12 @@ static int __init ebda_rio_table (void)
|
||||
rio_detail_ptr->chassis_num = readb (io_mem + offset + 14);
|
||||
// debug ("rio_node_id: %x\nbbar: %x\nrio_type: %x\nowner_id: %x\nport0_node: %x\nport0_port: %x\nport1_node: %x\nport1_port: %x\nfirst_slot_num: %x\nstatus: %x\n", rio_detail_ptr->rio_node_id, rio_detail_ptr->bbar, rio_detail_ptr->rio_type, rio_detail_ptr->owner_id, rio_detail_ptr->port0_node_connect, rio_detail_ptr->port0_port_connect, rio_detail_ptr->port1_node_connect, rio_detail_ptr->port1_port_connect, rio_detail_ptr->first_slot_num, rio_detail_ptr->status);
|
||||
//create linked list of chassis
|
||||
if (rio_detail_ptr->rio_type == 4 || rio_detail_ptr->rio_type == 5)
|
||||
if (rio_detail_ptr->rio_type == 4 || rio_detail_ptr->rio_type == 5)
|
||||
list_add (&rio_detail_ptr->rio_detail_list, &rio_vg_head);
|
||||
//create linked list of expansion box
|
||||
else if (rio_detail_ptr->rio_type == 6 || rio_detail_ptr->rio_type == 7)
|
||||
//create linked list of expansion box
|
||||
else if (rio_detail_ptr->rio_type == 6 || rio_detail_ptr->rio_type == 7)
|
||||
list_add (&rio_detail_ptr->rio_detail_list, &rio_lo_head);
|
||||
else
|
||||
else
|
||||
// not in my concern
|
||||
kfree (rio_detail_ptr);
|
||||
offset += 15;
|
||||
@@ -456,7 +456,7 @@ static int __init ebda_rio_table (void)
|
||||
}
|
||||
|
||||
/*
|
||||
* reorganizing linked list of chassis
|
||||
* reorganizing linked list of chassis
|
||||
*/
|
||||
static struct opt_rio *search_opt_vg (u8 chassis_num)
|
||||
{
|
||||
@@ -464,7 +464,7 @@ static struct opt_rio *search_opt_vg (u8 chassis_num)
|
||||
list_for_each_entry(ptr, &opt_vg_head, opt_rio_list) {
|
||||
if (ptr->chassis_num == chassis_num)
|
||||
return ptr;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -472,7 +472,7 @@ static int __init combine_wpg_for_chassis (void)
|
||||
{
|
||||
struct opt_rio *opt_rio_ptr = NULL;
|
||||
struct rio_detail *rio_detail_ptr = NULL;
|
||||
|
||||
|
||||
list_for_each_entry(rio_detail_ptr, &rio_vg_head, rio_detail_list) {
|
||||
opt_rio_ptr = search_opt_vg (rio_detail_ptr->chassis_num);
|
||||
if (!opt_rio_ptr) {
|
||||
@@ -484,14 +484,14 @@ static int __init combine_wpg_for_chassis (void)
|
||||
opt_rio_ptr->first_slot_num = rio_detail_ptr->first_slot_num;
|
||||
opt_rio_ptr->middle_num = rio_detail_ptr->first_slot_num;
|
||||
list_add (&opt_rio_ptr->opt_rio_list, &opt_vg_head);
|
||||
} else {
|
||||
} else {
|
||||
opt_rio_ptr->first_slot_num = min (opt_rio_ptr->first_slot_num, rio_detail_ptr->first_slot_num);
|
||||
opt_rio_ptr->middle_num = max (opt_rio_ptr->middle_num, rio_detail_ptr->first_slot_num);
|
||||
}
|
||||
}
|
||||
}
|
||||
print_opt_vg ();
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* reorganizing linked list of expansion box
|
||||
@@ -502,7 +502,7 @@ static struct opt_rio_lo *search_opt_lo (u8 chassis_num)
|
||||
list_for_each_entry(ptr, &opt_lo_head, opt_rio_lo_list) {
|
||||
if (ptr->chassis_num == chassis_num)
|
||||
return ptr;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -510,7 +510,7 @@ static int combine_wpg_for_expansion (void)
|
||||
{
|
||||
struct opt_rio_lo *opt_rio_lo_ptr = NULL;
|
||||
struct rio_detail *rio_detail_ptr = NULL;
|
||||
|
||||
|
||||
list_for_each_entry(rio_detail_ptr, &rio_lo_head, rio_detail_list) {
|
||||
opt_rio_lo_ptr = search_opt_lo (rio_detail_ptr->chassis_num);
|
||||
if (!opt_rio_lo_ptr) {
|
||||
@@ -522,22 +522,22 @@ static int combine_wpg_for_expansion (void)
|
||||
opt_rio_lo_ptr->first_slot_num = rio_detail_ptr->first_slot_num;
|
||||
opt_rio_lo_ptr->middle_num = rio_detail_ptr->first_slot_num;
|
||||
opt_rio_lo_ptr->pack_count = 1;
|
||||
|
||||
|
||||
list_add (&opt_rio_lo_ptr->opt_rio_lo_list, &opt_lo_head);
|
||||
} else {
|
||||
} else {
|
||||
opt_rio_lo_ptr->first_slot_num = min (opt_rio_lo_ptr->first_slot_num, rio_detail_ptr->first_slot_num);
|
||||
opt_rio_lo_ptr->middle_num = max (opt_rio_lo_ptr->middle_num, rio_detail_ptr->first_slot_num);
|
||||
opt_rio_lo_ptr->pack_count = 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Since we don't know the max slot number per each chassis, hence go
|
||||
* through the list of all chassis to find out the range
|
||||
* Arguments: slot_num, 1st slot number of the chassis we think we are on,
|
||||
* var (0 = chassis, 1 = expansion box)
|
||||
* Arguments: slot_num, 1st slot number of the chassis we think we are on,
|
||||
* var (0 = chassis, 1 = expansion box)
|
||||
*/
|
||||
static int first_slot_num (u8 slot_num, u8 first_slot, u8 var)
|
||||
{
|
||||
@@ -547,7 +547,7 @@ static int first_slot_num (u8 slot_num, u8 first_slot, u8 var)
|
||||
|
||||
if (!var) {
|
||||
list_for_each_entry(opt_vg_ptr, &opt_vg_head, opt_rio_list) {
|
||||
if ((first_slot < opt_vg_ptr->first_slot_num) && (slot_num >= opt_vg_ptr->first_slot_num)) {
|
||||
if ((first_slot < opt_vg_ptr->first_slot_num) && (slot_num >= opt_vg_ptr->first_slot_num)) {
|
||||
rc = -ENODEV;
|
||||
break;
|
||||
}
|
||||
@@ -569,7 +569,7 @@ static struct opt_rio_lo * find_rxe_num (u8 slot_num)
|
||||
|
||||
list_for_each_entry(opt_lo_ptr, &opt_lo_head, opt_rio_lo_list) {
|
||||
//check to see if this slot_num belongs to expansion box
|
||||
if ((slot_num >= opt_lo_ptr->first_slot_num) && (!first_slot_num (slot_num, opt_lo_ptr->first_slot_num, 1)))
|
||||
if ((slot_num >= opt_lo_ptr->first_slot_num) && (!first_slot_num (slot_num, opt_lo_ptr->first_slot_num, 1)))
|
||||
return opt_lo_ptr;
|
||||
}
|
||||
return NULL;
|
||||
@@ -580,8 +580,8 @@ static struct opt_rio * find_chassis_num (u8 slot_num)
|
||||
struct opt_rio *opt_vg_ptr;
|
||||
|
||||
list_for_each_entry(opt_vg_ptr, &opt_vg_head, opt_rio_list) {
|
||||
//check to see if this slot_num belongs to chassis
|
||||
if ((slot_num >= opt_vg_ptr->first_slot_num) && (!first_slot_num (slot_num, opt_vg_ptr->first_slot_num, 0)))
|
||||
//check to see if this slot_num belongs to chassis
|
||||
if ((slot_num >= opt_vg_ptr->first_slot_num) && (!first_slot_num (slot_num, opt_vg_ptr->first_slot_num, 0)))
|
||||
return opt_vg_ptr;
|
||||
}
|
||||
return NULL;
|
||||
@@ -594,13 +594,13 @@ static u8 calculate_first_slot (u8 slot_num)
|
||||
{
|
||||
u8 first_slot = 1;
|
||||
struct slot * slot_cur;
|
||||
|
||||
|
||||
list_for_each_entry(slot_cur, &ibmphp_slot_head, ibm_slot_list) {
|
||||
if (slot_cur->ctrl) {
|
||||
if ((slot_cur->ctrl->ctlr_type != 4) && (slot_cur->ctrl->ending_slot_num > first_slot) && (slot_num > slot_cur->ctrl->ending_slot_num))
|
||||
if ((slot_cur->ctrl->ctlr_type != 4) && (slot_cur->ctrl->ending_slot_num > first_slot) && (slot_num > slot_cur->ctrl->ending_slot_num))
|
||||
first_slot = slot_cur->ctrl->ending_slot_num;
|
||||
}
|
||||
}
|
||||
}
|
||||
return first_slot + 1;
|
||||
|
||||
}
|
||||
@@ -622,11 +622,11 @@ static char *create_file_name (struct slot * slot_cur)
|
||||
err ("Structure passed is empty\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
slot_num = slot_cur->number;
|
||||
|
||||
memset (str, 0, sizeof(str));
|
||||
|
||||
|
||||
if (rio_table_ptr) {
|
||||
if (rio_table_ptr->ver_num == 3) {
|
||||
opt_vg_ptr = find_chassis_num (slot_num);
|
||||
@@ -660,7 +660,7 @@ static char *create_file_name (struct slot * slot_cur)
|
||||
/* if both NULL and we DO have correct RIO table in BIOS */
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!flag) {
|
||||
if (slot_cur->ctrl->ctlr_type == 4) {
|
||||
first_slot = calculate_first_slot (slot_num);
|
||||
@@ -798,7 +798,7 @@ static int __init ebda_rsrc_controller (void)
|
||||
slot_ptr->ctl_index = readb (io_mem + addr_slot + 2*slot_num);
|
||||
slot_ptr->slot_cap = readb (io_mem + addr_slot + 3*slot_num);
|
||||
|
||||
// create bus_info lined list --- if only one slot per bus: slot_min = slot_max
|
||||
// create bus_info lined list --- if only one slot per bus: slot_min = slot_max
|
||||
|
||||
bus_info_ptr2 = ibmphp_find_same_bus_num (slot_ptr->slot_bus_num);
|
||||
if (!bus_info_ptr2) {
|
||||
@@ -814,9 +814,9 @@ static int __init ebda_rsrc_controller (void)
|
||||
bus_info_ptr1->index = bus_index++;
|
||||
bus_info_ptr1->current_speed = 0xff;
|
||||
bus_info_ptr1->current_bus_mode = 0xff;
|
||||
|
||||
|
||||
bus_info_ptr1->controller_id = hpc_ptr->ctlr_id;
|
||||
|
||||
|
||||
list_add_tail (&bus_info_ptr1->bus_info_list, &bus_info_head);
|
||||
|
||||
} else {
|
||||
@@ -851,7 +851,7 @@ static int __init ebda_rsrc_controller (void)
|
||||
bus_info_ptr2->slots_at_66_conv = bus_ptr->slots_at_66_conv;
|
||||
bus_info_ptr2->slots_at_66_pcix = bus_ptr->slots_at_66_pcix;
|
||||
bus_info_ptr2->slots_at_100_pcix = bus_ptr->slots_at_100_pcix;
|
||||
bus_info_ptr2->slots_at_133_pcix = bus_ptr->slots_at_133_pcix;
|
||||
bus_info_ptr2->slots_at_133_pcix = bus_ptr->slots_at_133_pcix;
|
||||
}
|
||||
bus_ptr++;
|
||||
}
|
||||
@@ -864,7 +864,7 @@ static int __init ebda_rsrc_controller (void)
|
||||
hpc_ptr->u.pci_ctlr.dev_fun = readb (io_mem + addr + 1);
|
||||
hpc_ptr->irq = readb (io_mem + addr + 2);
|
||||
addr += 3;
|
||||
debug ("ctrl bus = %x, ctlr devfun = %x, irq = %x\n",
|
||||
debug ("ctrl bus = %x, ctlr devfun = %x, irq = %x\n",
|
||||
hpc_ptr->u.pci_ctlr.bus,
|
||||
hpc_ptr->u.pci_ctlr.dev_fun, hpc_ptr->irq);
|
||||
break;
|
||||
@@ -932,7 +932,7 @@ static int __init ebda_rsrc_controller (void)
|
||||
tmp_slot->supported_speed = 2;
|
||||
else if ((hpc_ptr->slots[index].slot_cap & EBDA_SLOT_66_MAX) == EBDA_SLOT_66_MAX)
|
||||
tmp_slot->supported_speed = 1;
|
||||
|
||||
|
||||
if ((hpc_ptr->slots[index].slot_cap & EBDA_SLOT_PCIX_CAP) == EBDA_SLOT_PCIX_CAP)
|
||||
tmp_slot->supported_bus_mode = 1;
|
||||
else
|
||||
@@ -1000,7 +1000,7 @@ error_no_hpc:
|
||||
return rc;
|
||||
}
|
||||
|
||||
/*
|
||||
/*
|
||||
* map info (bus, devfun, start addr, end addr..) of i/o, memory,
|
||||
* pfm from the physical addr to a list of resource.
|
||||
*/
|
||||
@@ -1057,7 +1057,7 @@ static int __init ebda_rsrc_rsrc (void)
|
||||
addr += 10;
|
||||
|
||||
debug ("rsrc from mem or pfm ---\n");
|
||||
debug ("rsrc type: %x bus#: %x dev_func: %x start addr: %x end addr: %x\n",
|
||||
debug ("rsrc type: %x bus#: %x dev_func: %x start addr: %x end addr: %x\n",
|
||||
rsrc_ptr->rsrc_type, rsrc_ptr->bus_num, rsrc_ptr->dev_fun, rsrc_ptr->start_addr, rsrc_ptr->end_addr);
|
||||
|
||||
list_add (&rsrc_ptr->ebda_pci_rsrc_list, &ibmphp_ebda_pci_rsrc_head);
|
||||
@@ -1096,7 +1096,7 @@ struct bus_info *ibmphp_find_same_bus_num (u32 num)
|
||||
struct bus_info *ptr;
|
||||
|
||||
list_for_each_entry(ptr, &bus_info_head, bus_info_list) {
|
||||
if (ptr->busno == num)
|
||||
if (ptr->busno == num)
|
||||
return ptr;
|
||||
}
|
||||
return NULL;
|
||||
@@ -1110,7 +1110,7 @@ int ibmphp_get_bus_index (u8 num)
|
||||
struct bus_info *ptr;
|
||||
|
||||
list_for_each_entry(ptr, &bus_info_head, bus_info_list) {
|
||||
if (ptr->busno == num)
|
||||
if (ptr->busno == num)
|
||||
return ptr->index;
|
||||
}
|
||||
return -ENODEV;
|
||||
@@ -1168,7 +1168,7 @@ static struct pci_device_id id_table[] = {
|
||||
.subdevice = HPC_SUBSYSTEM_ID,
|
||||
.class = ((PCI_CLASS_SYSTEM_PCI_HOTPLUG << 8) | 0x00),
|
||||
}, {}
|
||||
};
|
||||
};
|
||||
|
||||
MODULE_DEVICE_TABLE(pci, id_table);
|
||||
|
||||
@@ -1197,7 +1197,7 @@ static int ibmphp_probe (struct pci_dev * dev, const struct pci_device_id *ids)
|
||||
struct controller *ctrl;
|
||||
|
||||
debug ("inside ibmphp_probe\n");
|
||||
|
||||
|
||||
list_for_each_entry(ctrl, &ebda_hpc_head, ebda_hpc_list) {
|
||||
if (ctrl->ctlr_type == 1) {
|
||||
if ((dev->devfn == ctrl->u.pci_ctlr.dev_fun) && (dev->bus->number == ctrl->u.pci_ctlr.bus)) {
|
||||
@@ -1210,4 +1210,3 @@ static int ibmphp_probe (struct pci_dev * dev, const struct pci_device_id *ids)
|
||||
}
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
|
||||
@@ -258,7 +258,7 @@ static u8 i2c_ctrl_write (struct controller *ctlr_ptr, void __iomem *WPGBbar, u8
|
||||
{
|
||||
u8 rc;
|
||||
void __iomem *wpg_addr; // base addr + offset
|
||||
unsigned long wpg_data; // data to/from WPG LOHI format
|
||||
unsigned long wpg_data; // data to/from WPG LOHI format
|
||||
unsigned long ultemp;
|
||||
unsigned long data; // actual data HILO format
|
||||
int i;
|
||||
@@ -351,7 +351,7 @@ static u8 i2c_ctrl_write (struct controller *ctlr_ptr, void __iomem *WPGBbar, u8
|
||||
}
|
||||
|
||||
//------------------------------------------------------------
|
||||
// Read from ISA type HPC
|
||||
// Read from ISA type HPC
|
||||
//------------------------------------------------------------
|
||||
static u8 isa_ctrl_read (struct controller *ctlr_ptr, u8 offset)
|
||||
{
|
||||
@@ -372,7 +372,7 @@ static void isa_ctrl_write (struct controller *ctlr_ptr, u8 offset, u8 data)
|
||||
{
|
||||
u16 start_address;
|
||||
u16 port_address;
|
||||
|
||||
|
||||
start_address = ctlr_ptr->u.isa_ctlr.io_start;
|
||||
port_address = start_address + (u16) offset;
|
||||
outb (data, port_address);
|
||||
@@ -656,11 +656,11 @@ int ibmphp_hpc_readslot (struct slot * pslot, u8 cmd, u8 * pstatus)
|
||||
//--------------------------------------------------------------------
|
||||
// cleanup
|
||||
//--------------------------------------------------------------------
|
||||
|
||||
|
||||
// remove physical to logical address mapping
|
||||
if ((ctlr_ptr->ctlr_type == 2) || (ctlr_ptr->ctlr_type == 4))
|
||||
iounmap (wpg_bbar);
|
||||
|
||||
|
||||
free_hpc_access ();
|
||||
|
||||
debug_polling ("%s - Exit rc[%d]\n", __func__, rc);
|
||||
@@ -835,7 +835,7 @@ static int poll_hpc(void *data)
|
||||
down (&semOperations);
|
||||
|
||||
switch (poll_state) {
|
||||
case POLL_LATCH_REGISTER:
|
||||
case POLL_LATCH_REGISTER:
|
||||
oldlatchlow = curlatchlow;
|
||||
ctrl_count = 0x00;
|
||||
list_for_each (pslotlist, &ibmphp_slot_head) {
|
||||
@@ -892,16 +892,16 @@ static int poll_hpc(void *data)
|
||||
|
||||
if (kthread_should_stop())
|
||||
goto out_sleep;
|
||||
|
||||
|
||||
down (&semOperations);
|
||||
|
||||
|
||||
if (poll_count >= POLL_LATCH_CNT) {
|
||||
poll_count = 0;
|
||||
poll_state = POLL_SLOTS;
|
||||
} else
|
||||
poll_state = POLL_LATCH_REGISTER;
|
||||
break;
|
||||
}
|
||||
}
|
||||
/* give up the hardware semaphore */
|
||||
up (&semOperations);
|
||||
/* sleep for a short time just for good measure */
|
||||
@@ -958,7 +958,7 @@ static int process_changeinstatus (struct slot *pslot, struct slot *poldslot)
|
||||
// bit 5 - HPC_SLOT_PWRGD
|
||||
if ((pslot->status & 0x20) != (poldslot->status & 0x20))
|
||||
// OFF -> ON: ignore, ON -> OFF: disable slot
|
||||
if ((poldslot->status & 0x20) && (SLOT_CONNECT (poldslot->status) == HPC_SLOT_CONNECTED) && (SLOT_PRESENT (poldslot->status)))
|
||||
if ((poldslot->status & 0x20) && (SLOT_CONNECT (poldslot->status) == HPC_SLOT_CONNECTED) && (SLOT_PRESENT (poldslot->status)))
|
||||
disable = 1;
|
||||
|
||||
// bit 6 - HPC_SLOT_BUS_SPEED
|
||||
@@ -980,7 +980,7 @@ static int process_changeinstatus (struct slot *pslot, struct slot *poldslot)
|
||||
pslot->status &= ~HPC_SLOT_POWER;
|
||||
}
|
||||
}
|
||||
// CLOSE -> OPEN
|
||||
// CLOSE -> OPEN
|
||||
else if ((SLOT_PWRGD (poldslot->status) == HPC_SLOT_PWRGD_GOOD)
|
||||
&& (SLOT_CONNECT (poldslot->status) == HPC_SLOT_CONNECTED) && (SLOT_PRESENT (poldslot->status))) {
|
||||
disable = 1;
|
||||
@@ -1075,7 +1075,7 @@ void __exit ibmphp_hpc_stop_poll_thread (void)
|
||||
debug ("before locking operations \n");
|
||||
ibmphp_lock_operations ();
|
||||
debug ("after locking operations \n");
|
||||
|
||||
|
||||
// wait for poll thread to exit
|
||||
debug ("before sem_exit down \n");
|
||||
down (&sem_exit);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user