summaryrefslogtreecommitdiffstats
path: root/drivers/block/mtip32xx
Commit message (Collapse)AuthorAgeFilesLines
* mtip32xx: Create debugfs entries for troubleshootingAsai Thambi S P2012-06-052-1/+165
| | | | | | | | | | | On module load, creates a debugfs parent 'rssd' in debugfs root. Then for each device, create a new node with corresponding disk name. Under the new node, two entries 'registers' and 'flags' are created. NOTE: These entries were removed from sysfs in the previous patch Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: Remove 'registers' and 'flags' from sysfsAsai Thambi S P2012-06-051-91/+1
| | | | | | | | | This patch removes entries 'registers' and 'flags' from sysfs. Updated ABI file to reflect this change. Reported-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: Remove version.h header file inclusionSachin Kamat2012-06-041-1/+0
| | | | | | version.h header file inclusion is no longer required. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
* mtip32xx: Changes to sysfs entriesAsai Thambi S P2012-05-311-19/+57
| | | | | | | | | * Formatted the output of 'registers' entry * Added "Commands in Q' to output of 'registers' entry * Added a new entry 'flags' Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: Convert macro definitions for flag bits to enumAsai Thambi S P2012-05-311-23/+25
| | | | | | | Convert macro definitions for flags bits to enum Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: minor performance tweakAsai Thambi S P2012-05-311-0/+2
| | | | | | | | When checking for command completions if the register value is zero, proceed to next register. Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: Fix to support more than one sector in exec_drive_command()Asai Thambi S P2012-05-311-16/+44
| | | | | | | Fix to support more than one sector in exec_drive_command(). Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: Use plain spinlock for 'cmd_issue_lock'Asai Thambi S P2012-05-311-4/+2
| | | | | | | | 'cmd_issue_lock' is for only acquiring a free slot, and it is not used in interrupt context. So replaced irq version with non-irq version of spinlock. Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: Set block queue boundary variablesAsai Thambi S P2012-05-311-0/+3
| | | | | | | | | | | | Set the following block queue boundary variables * max_hw_sectors * max_segment_size Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Removed setting of q->nr_requests. Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: Fix to handle TFE for PIO(IOCTL/internal) commandsAsai Thambi S P2012-05-311-30/+30
| | | | | | | If a PIO (IOCTL/internal) command resulted in TFE, signal the wait event or break out of polling. Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: Change HDIO_GET_IDENTITY to return stored dataAsai Thambi S P2012-05-311-6/+5
| | | | | | | | For the ioctl command HDIO_GET_IDENTITY, return the stored copy of IDENTIFY DATA instead of sending the command to the device - similar to libata. Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: Set custom timeouts for PIO commandsAsai Thambi S P2012-05-311-27/+28
| | | | | | | This change sets custom timeouts depending on PIO command. Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: fix clearing an incorrect register in mtip_init_portAsai Thambi S P2012-05-311-2/+1
| | | | | | | Fix clearing an incorrect register in mtip_init_port Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: release the semaphore on an error pathAsai Thambi S P2012-05-111-1/+3
| | | | | | | | | Release the semaphore in an error path in mtip_hw_get_scatterlist(). This fixes the smatch warning inconsistent returns. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* block: mtip32xx: remove HOTPLUG_PCI_PCIE dependancyGreg Kroah-Hartman2012-04-121-1/+1
| | | | | | | | | | This removes the HOTPLUG_PCI_PCIE dependency on the driver and makes it depend on PCI. Cc: Sam Bradshaw <sbradshaw@micron.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: dump tagmap on failureAsai Thambi S P2012-04-091-29/+33
| | | | | | | Dump tagmap on failure, instead of individual tags. Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: fix handling of commands in various scenariosAsai Thambi S P2012-04-092-51/+132
| | | | | | | | | | | | * If a ncq command time out and a non-ncq command is active, skip restart port * Queue(pause) ncq commands during operations spanning more than one non-ncq commands - secure erase, download microcode * When a non-ncq command is active, allow incoming non-ncq commands to wait instead of failing back * Changed timeout for download microcode and smart commands * If the device in write protect mode, fail all writes (do not send to device) * Set maximum retries to 2 Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: Shorten macro namesAsai Thambi S P2012-04-092-77/+75
| | | | | | | Shortened macros used to represent mtip_port->flags and dd->dd_flag Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: misc changesAsai Thambi S P2012-04-091-22/+44
| | | | | | | | | | | | * Handle the interrupt completion of polled internal commands * Do not check remove pending flag for standby command * On rebuild failure, - set corresponding bit dd_flag - do not send standby command * Free ida index in remove path Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: Add new sysfs entry 'status'Asai Thambi S P2012-04-092-29/+313
| | | | | | | | | | | * Add support for detecting the following device status - write protect - over temp (thermal shutdown) * Add new sysfs entry 'status', possible values - online, write_protect, thermal_shutdown * Add new file 'sysfs-block-rssd' to document ABI (Reported-by: Greg Kroah-Hartman) Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: make setting comp_time as commonAsai Thambi S P2012-04-091-11/+5
| | | | | | | Moved setting completion time into mtip_issue_ncq_command() Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: Add new bitwise flag 'dd_flag'Asai Thambi S P2012-04-092-55/+168
| | | | | | | | | | | | | * Merged the following flags into one variable 'dd_flag': * drv_cleanup_done * resumeflag * Added the following flags into 'dd_flag' * remove pending * init done * Removed 'ftlrebuildflag' (similar flag is already part of mti_port->flags) Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: fix error handling in mtip_init()Ryosuke Saito2012-04-051-4/+11
| | | | | | | | Ensure that block device is properly unregistered, if pci_register_driver() fails. Signed-off-by: Ryosuke Saito <raitosyo@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: fix incorrect value set for drv_cleanup_done, and re-initialize ↵Asai Thambi S P2012-03-231-11/+8
| | | | | | | | | | | | and start port in mtip_restart_port() This patch includes two changes: * fix incorrect value set for drv_cleanup_done * re-initialize and start port in mtip_restart_port() Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Sam Bradshaw <sbradshaw@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: removed the irrelevant argument of mtip_hw_submit_io() and the ↵Asai Thambi S P2012-02-072-11/+5
| | | | | | | | | | | | unused member of struct driver_data Removed the following: * irrelevant argument 'barrier' of mtip_hw_submit_io() * unused member 'eh_active' of struct driver_data Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Sam Bradshaw <sbradshaw@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: do rebuild monitoring asynchronouslyAsai Thambi S P2012-01-042-40/+65
| | | | | | | | | | Earlier, rebuild monitoring was done in the context of probe. Now the service thread takes the responsibility of rebuild monitoring, and probe returns good status. Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Sam Bradshaw <sbradshaw@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: uninitialized variable in mtip_quiesce_io()Dan Carpenter2011-11-241-1/+2
| | | | | | | | | | We recently introduce new continue in the loop which make gcc complain. In theory if MTIP_FLAG_SVC_THD_ACTIVE_BIT is set, we could hit continue over and over until eventually we time out of the loop. In that case "active" should be set as true, but right now it's uninitialized. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: updates based on feedbackAsai Thambi S P2011-11-232-154/+230
| | | | | | | | | | | | | | * queue ncq commands when a non-ncq is in progress or error handling is active * merge variables 'internal_cmd_in_progress' and 'eh_active' into new variable 'flags' * get rid of read/write semaphore 'internal_sem' * new service thread to issue queued commands * use macros from ata.h for command codes * return ENOTTY for BLKFLSBUF ioctl * style changes Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Sam Bradshaw <sbradshaw@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: update to new ->make_request() APIJens Axboe2011-11-051-10/+5
| | | | Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: add module.h include to avoid conflict with moduleh treeJens Axboe2011-11-051-0/+1
| | | | Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: mark a few more items staticJens Axboe2011-11-051-2/+2
| | | | | | Missed two items: mtip_major, and mtip_pci_driver. Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: ensure that all local functions are staticJens Axboe2011-11-052-352/+313
| | | | | | | | Kill the declarations in the header file and mark them as static. Reshuffle a few functions to ensure that everything is properly declared before being used. Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: cleanup compat ioctl handlingJens Axboe2011-11-052-91/+64
| | | | | | | | Do the conversion/copy up front instead of passing in a compat flag to the ioctl handler and subsequently to the exec_drive_taskfile() function. Signed-off-by: Jens Axboe <axboe@kernel.dk>
* mtip32xx: fix warnings/errors on 32-bit compilesJens Axboe2011-11-051-7/+23
| | | | | | | We need to clean up the compat ioctl handling, but this makes it work for now at least. Signed-off-by: Jens Axboe <axboe@kernel.dk>
* block: Add driver for Micron RealSSD pcie flash cardsSam Bradshaw2011-11-054-0/+4040
This adds mtip32xx, a driver supporting Microns line of pci-express flash storage cards. Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Sam Bradshaw <sbradshaw@micron.com> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>