mpt fusion: add sysfs attributes to display IOC parameters
Subsystems (2)
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 7 lines · Sathya
Resubmitting with the following change suggested by Brian King:
The driver version fromscsi_hostattribute is redundant as it is already
available in sysfs:/sys/module/mptscsih/version.
So it is removed from the patch
Quoted 8 lines
---
New sysfsscsi_hostattributes are added to provide information about Firmware
version, BIOS version, MPI version and other product related information.Signed-off-by Sathya Praksh <[email protected]>
ACK, please apply.
Eric Moore
Reposting as this patch is not visible in the list yet.
Resubmitting with the following change suggested by Brian King:
The driver version from scsi_host attribute is redundant as it is already available in sysfs: /sys/module/mptscsih/version.
So it is removed from the patch
---
New sysfs scsi_host attributes are added to provide information about Firmware version, BIOS version, MPI version and other product related information.
---
drivers/message/fusion/mptbase.c +45 -0
@@ -161,6 +161,7 @@ static int mpt_readScsiDevicePageHeadersstatic void mpt_read_ioc_pg_1 (MPT_ADAPTER *ioc);static void mpt_read_ioc_pg_4 (MPT_ADAPTER *ioc);static void mpt_timer_expired (unsigned long data); +static void mpt_get_manufacturing_pg_0 (MPT_ADAPTER *ioc);static int SendEventNotification (MPT_ADAPTER *ioc,u8 EvSwitch);static int SendEventAck (MPT_ADAPTER *ioc,EventNotificationReply_t *evnp);static int mpt_host_page_access_control (MPT_ADAPTER *ioc,u8 access_control_value,int sleepFlag);
@@ -1880,6 +1881,7 @@ mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u3 }GetIoUnitPage2 (ioc); +mpt_get_manufacturing_pg_0 (ioc); }/*
@@ -5190,6 +5192,49 @@ mpt_read_ioc_pg_1(MPT_ADAPTER *ioc)return ; } +static void +mpt_get_manufacturing_pg_0 (MPT_ADAPTER *ioc) +{ +CONFIGPARMS cfg; +ConfigPageHeader_t hdr; +dma_addr_t buf_dma; +ManufacturingPage0_t *pbuf =NULL ; + +memset (&cfg,0 ,sizeof (CONFIGPARMS )); +memset (&hdr,0 ,sizeof (ConfigPageHeader_t)); + + hdr.PageType =MPI_CONFIG_PAGETYPE_MANUFACTURING ; + cfg.cfghdr.hdr = &hdr; + cfg.physAddr =-1 ; + cfg.action =MPI_CONFIG_ACTION_PAGE_HEADER ; + cfg.timeout =10 ; + +if (mpt_config (ioc, &cfg) !=0 ) + goto out; + +if (!cfg.cfghdr.hdr->PageLength) + goto out; + + cfg.action =MPI_CONFIG_ACTION_PAGE_READ_CURRENT ; + pbuf =pci_alloc_consistent (ioc->pcidev, hdr.PageLength *4 , &buf_dma); +if (!pbuf) + goto out; + + cfg.physAddr = buf_dma; + +if (mpt_config (ioc, &cfg) !=0 ) + goto out; + +memcpy (ioc->board_name, pbuf->BoardName,sizeof (ioc->board_name)); +memcpy (ioc->board_assembly, pbuf->BoardAssembly,sizeof (ioc->board_assembly)); +memcpy (ioc->board_tracer, pbuf->BoardTracerNumber,sizeof (ioc->board_tracer)); + + out: + +if (pbuf) +pci_free_consistent (ioc->pcidev, hdr.PageLength *4 , pbuf, buf_dma); +} +/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ /** * SendEventNotification - Send EventNotification (on or off) request to adapter
drivers/message/fusion/mptbase.h +7 -0
@@ -538,6 +538,13 @@ typedef struct _MPT_ADAPTERint pci_irq;/* This irq */ char name[MPT_NAME_LENGTH ];/* "iocN" */ char *prod_name;/* "LSIFC9x9" */ +char board_name[16 ]; +char board_assembly[16 ]; +char board_tracer[16 ]; +u16 nvdata_version_persistent; +u16 nvdata_version_default; +u8 io_missing_delay; +u8 device_missing_delay;SYSIF_REGS __iomem *chip;/* == c8817000 (mmap) */ SYSIF_REGS __iomem *pio_chip;/* Programmed IO (downloadboot) */ u8 bus_type;
drivers/message/fusion/mptfc.c +1 -0
@@ -130,6 +130,7 @@ static struct scsi_host_template mptfc_d .max_sectors = 8192, .cmd_per_lun = 7, .use_clustering = ENABLE_CLUSTERING, + .shost_attrs = mptscsih_host_attrs, };/****************************************************************************
drivers/message/fusion/mptsas.c +64 -0
88 lines not on this page · raw message
drivers/message/fusion/mptscsih.c +153 -0
159 lines not on this page · raw message
drivers/message/fusion/mptscsih.h +1 -0
@@ -129,3 +129,4 @@ extern void mptscsih_timer_expired(unsigextern int mptscsih_TMHandler (MPT_SCSI_HOST *hd,u8 type,u8 channel,u8 id,int lun,int ctx2abort,ulong timeout);extern u8 mptscsih_raid_id_to_num (MPT_ADAPTER *ioc,u8 channel,u8 id);extern int mptscsih_is_phys_disk (MPT_ADAPTER *ioc,u8 channel,u8 id); +extern struct class_device_attribute *mptscsih_host_attrs[];
drivers/message/fusion/mptspi.c +1 -0
@@ -819,6 +819,7 @@ static struct scsi_host_template mptspi_ .max_sectors = 8192, .cmd_per_lun = 7, .use_clustering = ENABLE_CLUSTERING, + .shost_attrs = mptscsih_host_attrs, }; static int mptspi_write_spi_device_pg1(struct scsi_target *starget,
Quoted 8 lines · Sathya
Reposting as this patch is not visible in the list yet.
Resubmitting with the following change suggested by Brian King:
The driver version fromscsi_hostattribute is redundant as it is already
available in sysfs:/sys/module/mptscsih/version.
So it is removed from the patch
Quoted 8 lines
---
New sysfsscsi_hostattributes are added to provide information about Firmware
version, BIOS version, MPI version and other product related information.Signed-off-by Sathya Praksh <[email protected]>---
ACK
Eric Moore