aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAge
* ath9k_hw: extend ath9k_hw_set_txpowerlimit to test channel txpowerFelix Fietkau2010-11-15
| | | | | | | | | ath9k_hw_set_txpowerlimit gets an extra boolean parameter that - if set - causes the rate txpower table and the regulatory limit to be calculated and stored, without changing hardware registers. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k_hw: initialize regulatory->max_power_level in set_txpower for AR9003Felix Fietkau2010-11-15
| | | | | | | The same is done for the older chip families as well. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath5k: Add channel time to survey dataBruno Randolf2010-11-09
| | | | | | | Include the channel utilization (busy, rx, tx) in the survey results. Signed-off-by: Bruno Randolf <br1@einfach.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath5k: Optimize descriptor alignmentBruno Randolf2010-11-09
| | | | | | | | Similar to Felix Fietkau <nbd@openwrt.org> "ath9k_hw: optimize all descriptor access functions" (13db2a80244908833502189a24de82a856668b8a). Signed-off-by: Bruno Randolf <br1@einfach.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: Remove the median function in rate controlMohammed Shafi Shajakhan2010-11-09
| | | | | | | | With the current rate control selection method the median function is nowhere used, so remove it. Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k_hw: optimize all descriptor access functionsFelix Fietkau2010-11-09
| | | | | | | | | | | | | Because all of the descriptor data structures are marked as __packed, GCC assumes the worst case wrt. alignment and generates unaligned load/store instructions on MIPS for access to all fields. Since descriptors always have to be 4-byte-aligned, we can just mark the data structures with __aligned(4), which allows GCC to generate much more efficient code. Verified through disassembly and OProfile comparisons. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: Convert to new PCI PM frameworkRafael J. Wysocki2010-11-09
| | | | | | | | | | | The ath9k driver uses the legacy PCI power management (suspend and resume) callbacks that apparently cause intermittent problems to happen (the adapter sometimes doesn't resume correctly on my Acer Ferrari One). Make it use the new PCI PM and let the PCI core code handle the PCI-specific details of power transitions. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: fix sparse complaint on aphy for debugfsLuis R. Rodriguez2010-11-09
| | | | | | | | | | | This fixes this sparse complaint: CHECK drivers/net/wireless/ath/ath9k/debug.c drivers/net/wireless/ath/ath9k/debug.c:548:34: warning: symbol 'aphy' shadows an earlier one drivers/net/wireless/ath/ath9k/debug.c:491:26: originally declared here Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k_hw: make ath9k_hw_gettsf32 staticFelix Fietkau2010-11-09
| | | | | | | It is now only used in hw.c Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: remove a redundant call to ath9k_hw_gettsf32Felix Fietkau2010-11-09
| | | | | | | | | When the timer_next argument to ath9k_gen_timer_start is behind the tsf value, tsf + timer_period is used, which is what ath_btcoex_period_timer was setting it to. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k: optimize/fix ANI RSSI processingFelix Fietkau2010-11-09
| | | | | | | | | | | | ANI needs the RSSI average only in station mode, and only for tracking the signal strength of beacons of the AP that it is connected to. Adjust the code to track on the beacon RSSI, and store the average of that in the ath_wiphy struct. With these changes, we can get rid of this extra station lookup in the rx path, which saves precious CPU cycles. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k_hw: optimize tx status descriptor processingFelix Fietkau2010-11-09
| | | | | | | | | | | | Disassembly shows, that at least on MIPS, the compiler generates a lot of memory accesses to the same location in the descriptor field parsing. Since it is operating on uncached memory, this can be quite expensive in this hot path. Change the code a bit to help the compiler optimize it properly, and get rid of some unused fields in the ath_tx_status struct. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k_hw: small optimization in ar9002_hw_get_isrFelix Fietkau2010-11-09
| | | | | | | | | | | ah->config.rx_intr_mitigation does not need to be checked before checking the rx interrupt mask for AR_ISR_RXMINTR or AR_ISR_RXINTM, as those interrupts will be masked out if rx interrupt mitigation is disabled. Avoid reading AR_ISR_S5_S twice by reordering the code to be more concise. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ath9k_hw: optimize interrupt mask changesFelix Fietkau2010-11-09
| | | | | | | | | | | | | | | OProfile showed that ath9k was spending way too much time in ath9k_hw_set_interrupts. Since most of the interrupt mask changes only need to globally enable/disable interrupts, it makes sense to split this part into separate functions, replacing all calls to ath9k_hw_set_interrupts(ah, 0) with ath9k_hw_disable_interrupts(ah). ath9k_hw_set_interrupts(ah, ah->imask) only gets changed to ath9k_hw_enable_interrupts(ah), whenever ah->imask was not changed since the point where interrupts were disabled. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: N-PHY: define registers names for 2056 radioRafał Miłecki2010-11-09
| | | | | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Cc: Henry Ptasinski <henryp@broadcom.com> Cc: Brett Rudley <brudley@broadcom.com> Cc: Nohee Ko <noheek@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: N-PHY: define registers names for 2056 radioRafał Miłecki2010-11-09
| | | | | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Cc: Henry Ptasinski <henryp@broadcom.com> Cc: Brett Rudley <brudley@broadcom.com> Cc: Nohee Ko <noheek@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: N-PHY: define channel table struct for rev3+ devicesRafał Miłecki2010-11-09
| | | | | Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* Merge branch 'for-linus' of git://www.jni.nu/crisLinus Torvalds2010-11-01
|\ | | | | | | | | | | | | * 'for-linus' of git://www.jni.nu/cris: CRIS: Add paths for CRISv10 serial driver CRIS: Fix RS485 delay handling. Add missing "struct" to in sizeof.
| * CRIS: Fix RS485 delay handling.Jesper Nilsson2010-10-28
| | | | | | | | | | | | | | | | | | | | Very recently, the RS485 interface has been fixed by adding two further fields (see commit 1b6331848b69d1ed165a6bdc75c4046d68767563). Check the value of the flag SER_RS485_RTS_BEFORE_SEND before delaying. Signed-off-by: Claudio Scordino <claudio@evidence.eu.com> Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
| * Add missing "struct" to in sizeof.Jesper Nilsson2010-10-28
| | | | | | | | | | | | Lead to a compile error when the struct was no longer typedef'd. Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
* | Merge branch 'next-spi' of git://git.secretlab.ca/git/linux-2.6Linus Torvalds2010-11-01
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | * 'next-spi' of git://git.secretlab.ca/git/linux-2.6: spi/pl022: fix erroneous platform data in U300 spi: fixed odd static string conventions in core code spi/bfin_spi: only request GPIO on first load spi/bfin_spi: handle error/status changes after data interrupts spi: enable spi_board_info to be registered after spi_master
| * | spi: fixed odd static string conventions in core codeLinus Walleij2010-10-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes convention of passing a static string as a parameter to another static string. The convention is intended to reduce text usage by sharing the common bits of the string, but the implementation is inherently fragile (a change to one format string but not the other will nullify any possible advantage), it isn't necessarily a net win depending on what this compiler does, and it it reduces code readability. Signed-off-by: Linus Walleij <linus.walleij@stericsson.com> [grant.likely@secretlab.ca: removed dev_dbg->dev_err hunk] Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * | spi/bfin_spi: only request GPIO on first loadMichael Hennerich2010-10-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The gpiolib code does not allow people to do gpio_request() on a GPIO once it has already been requested. So make sure we only request the pin on the first setup of a SPI device. Otherwise, if you attempts to reconfigure a SPI device on the fly (like change bit sizes), the setup function incorrectly fails. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * | spi/bfin_spi: handle error/status changes after data interruptsMichael Hennerich2010-10-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The error interrupt on the BF537 SIC cannot be enabled on a per-peripheral basis. Once the error interrupt is enabled for one peripheral, it is automatically enabled for all. So in the Blackfin on-chip SPI driver, we need to clear out these known errors in the data interrupt once we've successfully finished processing all of the pending data. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
| * | spi: enable spi_board_info to be registered after spi_masterFeng Tang2010-10-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently spi_register_board_info() has to be called before its related spi_master be registered, otherwise these board info will be just ignored. This patch will remove this order limit, it adds a global spi master list like the existing global board info listr. Whenever a board info or a spi_master is registered, the spi master list or board info list will be scanned, and a new spi device will be created if there is a master-board info match. Signed-off-by: Feng Tang <feng.tang@intel.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
* | | Input: ir-keytable - fix uninitialized variable warningDmitry Torokhov2010-10-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were forgetting to set up proper return value in success path causing ir_getkeycode() to fail intermittently: drivers/media/IR/ir-keytable.c: In function 'ir_getkeycode': drivers/media/IR/ir-keytable.c:363: warning: 'retval' may be used uninitialized in this function Reported-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | Merge branch 'i2c-for-linus' of ↵Linus Torvalds2010-10-31
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: i2c-i801: Add PCI idents for Patsburg 'IDF' SMBus controllers i2c-i801: Handle multiple instances instead of keeping global state i2c-i801: Add Intel Patsburg device ID i2c: Drop unused I2C_CLASS_TV flags
| * | | i2c-i801: Add PCI idents for Patsburg 'IDF' SMBus controllersDavid Woodhouse2010-10-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are the extra 'Integrated Device Function' SMBus controllers found on the Patsburg chipset. Mention the absence of slave mode support. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | i2c-i801: Handle multiple instances instead of keeping global stateDavid Woodhouse2010-10-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's poor form to keep driver state in global variables rather than per-instance. It never really mattered in practice when there was only one controller on the chipset, but the latest chipsets do have more than one controller, so now we care. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | i2c-i801: Add Intel Patsburg device IDSeth Heasley2010-10-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for the Intel Patsburg PCH SMBus Controller. Signed-off-by: Seth Heasley <seth.heasley@intel.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
| * | | i2c: Drop unused I2C_CLASS_TV flagsJean Delvare2010-10-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There are no users left for I2C_CLASS_TV_ANALOG and I2C_CLASS_TV_DIGITAL, so we can get rid of them. Signed-off-by: Jean Delvare <khali@linux-fr.org>
* | | | Merge branch 'for-linus' of ↵Linus Torvalds2010-10-31
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: appletouch - remove extra KERN_DEBUG use from dprintk Input: bu21013_ts - fix null dereference in error handling Input: ad7879 - prevent invalid finger data reports
| * | | | Input: appletouch - remove extra KERN_DEBUG use from dprintkJoe Perches2010-10-31
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | | | Input: bu21013_ts - fix null dereference in error handlingDan Carpenter2010-10-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bu21013_data could be NULL so better not reference it. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | | | Input: ad7879 - prevent invalid finger data reportsMichael Hennerich2010-10-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Considering following scenario - the touch is present on the screen at the beginning of the last conversion sequence, but by the time the last sequence is finished, the finger is lift off. The AD7879 data available interrupt signals (DAV) completion, however some X,Y values are not valid because the screen inputs were floating during the acquisition. The AD7877 acts differently here, since it only asserts DAV if the touch is still present when the conversion sequence finished. Based on the fact that this can only happen in the last sample of the repeated conversion sequence, we simply skip the last (short glitches are filtered by the AD7879 internal median and average filters). This doesn't cause noticeable side effects, since the minimum conversion interval is 9.44ms. We receive ~100 waypoint samples per second, so we simply delay the result by 9.44ms. We also reject samples where pressure is greater than pressure_max. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6Linus Torvalds2010-10-31
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (70 commits) [SCSI] pmcraid: add support for set timestamp command and other fixes [SCSI] pmcraid: remove duplicate struct member [SCSI] qla4xxx: Fix cmd check in qla4xxx_cmd_wait [SCSI] megaraid_sas: Version and documentation update [SCSI] megaraid_sas: Add three times Online controller reset [SCSI] megaraid_sas: Add input parameter for max_sectors [SCSI] megaraid_sas: support devices update flag [SCSI] libosd: write/read_sg_kern API [SCSI] libosd: Support for scatter gather write/read commands [SCSI] libosd: Free resources in reverse order of allocation [SCSI] libosd: Fix bug in attr_page handling [SCSI] lpfc 8.3.18: Update lpfc driver version to 8.3.18 [SCSI] lpfc 8.3.18: Add new WQE support [SCSI] lpfc 8.3.18: Fix critical errors [SCSI] lpfc 8.3.18: Adapter Shutdown and Unregistration cleanup [SCSI] lpfc 8.3.18: Add logic to detect last devloss timeout [SCSI] lpfc 8.3.18: Add support of received ELS commands [SCSI] lpfc 8.3.18: FC/FCoE Discovery fixes [SCSI] ipr: add definitions for a new adapter [SCSI] bfa: fix comments for c files ...
| * | | | | [SCSI] pmcraid: add support for set timestamp command and other fixesAnil Ravindranath2010-10-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following are the fixes in this patch: 1. Added support of set timestamp command in the driver 2. Pass all status code to mgmt application. Earlier we were passing only failed ones. 3. Call class_destroy after unregister_chrdev and pci_unregister_driver Signed-off-by: Anil Ravindranath <anil_ravindranath@pmc-sierra.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
| * | | | | [SCSI] pmcraid: remove duplicate struct memberAnil Ravindranath2010-10-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sense_buffer is both a direct member of struct pmcraid_cmd as well as an indirect one via an anonymous union and struct. Fix this clash by eliminating the direct member in favour of the anonymous struct/union one. The name duplication apparently isn't noticed by gcc versions earlier than 4.4 Reported-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Anil Ravindranath <anil_ravindranath@pmc-sierra.com> Cc: Stable Tree <stable@kernel.org> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
| * | | | | [SCSI] qla4xxx: Fix cmd check in qla4xxx_cmd_waitMike Christie2010-10-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the command has timedout then the block layer has called blk_mark_rq_complete. If qla4xxx_cmd_wait is then called from qla4xxx_eh_host_reset, we will always fail, because if the driver calls scsi_done then the the block layer will fail at blk_complete_request's blk_mark_rq_complete call instead of calling the normal completion path including the function, blk_queue_end_tag, which releases the tag. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
| * | | | | [SCSI] megaraid_sas: Version and documentation updateYang, Bo2010-10-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by Bo Yang <bo.yang@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
| * | | | | [SCSI] megaraid_sas: Add three times Online controller resetYang, Bo2010-10-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If fw didn't raise the interrupt with the fw state change to driver and fw goes to failure state, driver Will check the FW state in driver's timeout routine and issue the reset if need. Driver will do the OCR upto three times until kill adapter. Also driver will issue OCR before driver kill adapter even if fw in operational state. Signed-off-by Bo Yang <bo.yang@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
| * | | | | [SCSI] megaraid_sas: Add input parameter for max_sectorsYang, Bo2010-10-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Driver add the input parameters support for max_sectors for megaraid sas gen2 chip. Customer can set the max_sectors support to 1MB for gen2 chip during the driver load. Signed-off-by Bo Yang <bo.yang@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
| * | | | | [SCSI] megaraid_sas: support devices update flagYang, Bo2010-10-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Driver added the Device update flag to tell LSI application driver whether to do the device Update. LSI MegaRAID SAS application will check this flag to decide if it needs to update the Device or not. Signed-off-by Bo Yang <bo.yang@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
| * | | | | [SCSI] libosd: write/read_sg_kern APIBoaz Harrosh2010-10-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a trivial addition to the SG API that can receive kernel pointers. It is only used by the out-of-tree test module. So it's immediate need is questionable. For maintenance ease it might just get in, as it's very small. John. do you need this in the Kernel, or is it only for osd_ktest.ko? Signed-off-by: John A. Chandy <john.chandy@uconn.edu> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
| * | | | | [SCSI] libosd: Support for scatter gather write/read commandsBoaz Harrosh2010-10-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the Scatter-Gather (sg) API to libosd. Scatter-gather enables a write/read of multiple none-contiguous areas of an object, in a single call. The extents may overlap and/or be in any order. The Scatter-Gather list is sent to the target in what is called a "cdb continuation segment". This is yet another possible segment in the osd-out-buffer. It is unlike all other segments in that it sits before the actual "data" segment (which until now was always first), and that it is signed by itself and not part of the data buffer. This is because the cdb-continuation-segment is considered a spill-over of the CDB data, and is therefor signed under OSD_SEC_CAPKEY and higher. TODO: A new osd_finalize_request_ex version should be supplied so the @caps received on the network also contains a size parameter and can be spilled over into the "cdb continuation segment". Thanks to John Chandy <john.chandy@uconn.edu> for the original code, and investigations. And the implementation of SG support in the osd-target. Original-coded-by: John Chandy <john.chandy@uconn.edu> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
| * | | | | [SCSI] libosd: Free resources in reverse order of allocationBoaz Harrosh2010-10-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At osd_end_request first free the request that might point to pages, then free these pages. In reverse order of allocation. For now it's just anal neatness. When we'll use mempools It'll also pay in performance. Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
| * | | | | [SCSI] libosd: Fix bug in attr_page handlingBoaz Harrosh2010-10-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The _osd_req_finalize_attr_page was off by a mile, when trying to append the enc_get_attr segment instead of the proper set_attr segment. Also properly support when we don't have any attribute to set while getting a full page. And when clearing an attribute by setting it's size to zero. Reported-by: John Chandy <john.chandy@uconn.edu> Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
| * | | | | [SCSI] lpfc 8.3.18: Update lpfc driver version to 8.3.18James Smart2010-10-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
| * | | | | [SCSI] lpfc 8.3.18: Add new WQE supportJames Smart2010-10-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add new WQE fields as defined by new SLI interface to support new hardware. Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
| * | | | | [SCSI] lpfc 8.3.18: Fix critical errorsJames Smart2010-10-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix critical errors - Update send_scsi_event to validate pnode pointer active before copying the wwpn information. - Add a message, mailbox_idle, and unlock before failing SECURITY_MGMT or AUTH_PORT mailbox commands - Prevent spin_lock_irqsave from being called twice in a row. Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>