summaryrefslogtreecommitdiffstats
path: root/drivers/ide
Commit message (Collapse)AuthorAgeFilesLines
* ide-cd: coding style fixes for VERBOSE_IDE_CD_ERRORS codeBartlomiej Zolnierkiewicz2008-02-012-49/+49
| | | | | | | | | | * Coding style fixes for VERBOSE_IDE_CD_ERRORS code. * Add KERN_{ERR,CONT} printk() levels where needed. This is a preparation for moving this code out of ide-cd.[c,h]. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove duplicate sense keys definitions from ide-cd.hBartlomiej Zolnierkiewicz2008-02-011-17/+0
| | | | | | | ide-cd.c already uses sense keys definitions from <scsi/scsi.h>. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: re-organize handling of quirky devicesBartlomiej Zolnierkiewicz2008-02-012-65/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-organize handling of quirky devices: * Add struct cd_list_entry, ide_cd_quirks_list[] and ide_cd_flags() helper. * Set flags returned by ide_cd_flags() in ide_cdrom_setup(). * Add IDE_CD_FLAG_VERTOS_{300_SDD,600_ESD} and IDE_CD_FLAG_SANYO_3CD flags. * Move device quirks from ide_cdrom_setup() to ide_cd_quirks_list[]. * Rename IDE_CD_FLAG_NEC260 to IDE_CD_FLAG_PRE_ATAPI12 and handle quirky Stingray 8X CD-ROM using ide_cd_quirks_list[]. * Add IDE_CD_FLAG_FULL_CAPS_PAGE flag and handle quirky ACER 50X CD-ROM / WPI 32X CD-ROM using ide_cd_quirk_list[]. * Add IDE_CD_FLAG_PLAY_AUDIO_OK flag and handle quirky MATSHITA DVD-ROMs using ide_cd_quirks_list[]. * Add IDE_CD_FLAG_LE_SPEED_FIELDS flag and handle quirky ACER/AOpen 24X CD-ROM using ide_cd_quirk_list[]. * Fix some comments about quirky devices while at it. There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: use BCD2BIN()/BIN2BCD() macros from <linux/bcd.h>Bartlomiej Zolnierkiewicz2008-02-011-23/+11
| | | | | | | Use BCD2BIN()/BIN2BCD() macros from <linux/bcd.h> and remove the local bcd2bin()/bin2bcd() inlines. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove STANDARD_ATAPI defineBartlomiej Zolnierkiewicz2008-02-012-43/+10
| | | | | | Remove STANDARD_ATAPI define + drive-by coding style fixes. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove NO_DOOR_LOCKING defineBartlomiej Zolnierkiewicz2008-02-012-10/+0
| | | | | Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove struct ide_cd_{config,state}_flagsBartlomiej Zolnierkiewicz2008-02-012-81/+87
| | | | | | | | | | | | | | | | | * Remove unused ->{writing,reserved} fields from struct ide_cd_config_flags. * Move ->max_speed from struct ide_cd_config_flags to struct cdrom_info. * Move ->current_speed from struct ide_cd_state_flags to struct cdrom_info. * Add defines for config and state flags. * Add 'unsigned int cd_flags' to struct cdrom_info and use ->cd_flags instead of ->{config,state}_flags. * Remove no longer needed struct ide_cd_{config,state}_flags. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove struct atapi_capabilities_page (take 2)Bartlomiej Zolnierkiewicz2008-02-012-248/+37
| | | | | | | | | | | | | * Remove struct atapi_capabilities_page. * Add ATAPI_CAPABILITIES_PAGE[_PAD]_SIZE define. v2: * The buf[] array access indexes were swapped between 'curspeed'/'maxspeed'. (Noticed by Borislav Petkov). Cc: Borislav Petkov <bbpetkov@yahoo.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: kill CDROM_STATE_FLAGS() macroBartlomiej Zolnierkiewicz2008-02-012-22/+24
| | | | | | While at it rename 'info' variable to 'cd' in cdrom_saw_media_change(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: kill CDROM_CONFIG_FLAGS() macroBartlomiej Zolnierkiewicz2008-02-012-48/+50
| | | | | | | While at it rename 'info' variable to 'cd' in ide_cdrom_probe_capabilities() and ide_cdrom_setup(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove redundant config flagsBartlomiej Zolnierkiewicz2008-02-012-70/+38
| | | | | | | | | * Use CDC_* flags directly and remove redundant flags from ->config_flags. While at it: * Add KERN_CONT to printk()-s in ide_cdrom_probe_capabilities(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: add IDE_CD_CAPABILITIES defineBartlomiej Zolnierkiewicz2008-02-011-12/+7
| | | | | | While at it remove stale/incorrect comment. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: cleanup ide_cdrom_update_speed()Bartlomiej Zolnierkiewicz2008-02-011-8/+9
| | | | | Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove struct atapi_{mechstat_header,changer_info,slot}Bartlomiej Zolnierkiewicz2008-02-012-56/+0
| | | | | | | | | * Remove ->changer_info from struct cdrom_info (it is never allocated). * Remove unused struct atapi_{mechstat_header,changer_info,slot}. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove unused and write-only struct ide_cd_config_flags fieldsBartlomiej Zolnierkiewicz2008-02-012-23/+2
| | | | | | | | | | | | | | | unused fields: * ->writing * ->reserved write-only fields: * ->playmsf_as_bcd * ->subchan_as_bcd * ->test_write * ->supp_disc_present Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove needless zeroing of 'info' fields from ide_cdrom_setup()Bartlomiej Zolnierkiewicz2008-02-011-37/+7
| | | | | | | | | | | ide_cd_probe() zeroes 'info' prior to calling ide_cdrom_setup() so there is no need to explicitly zero 'info' fields in the latter function. Ditto for fields of CDROM_STATE_FLAGS(), CDROM_CONFIG_FLAGS() and 'cdi' (all are embedded in 'info'). Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove unused struct atapi_cdrom_subchnlBartlomiej Zolnierkiewicz2008-02-011-32/+0
| | | | | Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove dead code from cdrom_pc_intr()Bartlomiej Zolnierkiewicz2008-02-011-7/+0
| | | | | Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove unused defines from ide-cd.hBartlomiej Zolnierkiewicz2008-02-011-10/+0
| | | | | Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: remove stale cdrom_transfer_packet_command() commentBartlomiej Zolnierkiewicz2008-02-011-4/+0
| | | | | Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: move historical changelog to ↵Bartlomiej Zolnierkiewicz2008-02-011-270/+4
| | | | | | Documentation/ide/ChangeLog.ide-cd.1994-2004 Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: fix trailing whitespaces in changelogBartlomiej Zolnierkiewicz2008-02-011-12/+11
| | | | | Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: fix DMA error handling in cdrom_newpc_intr()Bartlomiej Zolnierkiewicz2008-02-011-4/+6
| | | | | | | | | | | | Make cdrom_newpc_intr() match cdrom_{read,write}_intr() w.r.t. handling DMA errors: * disable DMA before cdrom_decode_status() call * log the device name and the type of the request (read/write) Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: fix "missing data" handling in cdrom_pc_intr()Bartlomiej Zolnierkiewicz2008-02-011-3/+4
| | | | | | | | If drive still wants to transfer the data we need to pad the transfer instead of just finishing the request. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: add ide_cd_pad_transfer() helperBartlomiej Zolnierkiewicz2008-02-011-26/+25
| | | | | | | | | Add ide_cd_pad_transfer() helper and use it in cdrom_[new]pc_intr() and cdrom_{read,write}_check_ireason(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: use xfer_func_t in cdrom_pc_intr()Bartlomiej Zolnierkiewicz2008-02-011-30/+17
| | | | | | | | Unify writing and reading handling in cdrom_pc_intr() using xfer_func_t. There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide/ppc/pmac.c section fixesAdrian Bunk2008-02-011-2/+2
| | | | | | | | | | | | | | | This patch fixes the following section mismatch: <-- snip --> ... WARNING: vmlinux.o(.text+0x3b641c): Section mismatch in reference from the function .pmac_ide_setup_device() to the function .init.text:.pmac_ide_setup_dma() ... <-- snip --> Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: make wait_drive_not_busy() static againAdrian Bunk2008-02-011-1/+1
| | | | | | | | After commit 7267c3377443322588cddaf457cf106839a60463 wait_drive_not_busy() can become static again. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: small ide-scan-pci.c cleanupAdrian Bunk2008-02-011-7/+2
| | | | | | | | | - ide_scan_pcibus() can become static - instead of ide_scan_pci() we can use ide_scan_pcibus() directly in module_init() Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: unexport ide_dma_onAdrian Bunk2008-02-011-2/+0
| | | | | | | | ide_dma_on can be unexported. Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide/Kconfig: use 'on-board' instead of 'built-in' in config optionsFrans Pop2008-02-011-23/+23
| | | | | | | | | | | | | To avoid confusion between 'built-in' drivers and 'on-board' controllers, consistently use the term 'on-board' for controllers. Minor line-wrapping improvements in descriptions for config options. [ Bart: thanks to Jan for 'built-in'->'on-board' suggestion ] Signed-off-by: Frans Pop <elendil@planet.nl> Cc: Jan Engelhardt <jengelh@computergmbh.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* Atari Falcon IDE: Add missing hwif variableGeert Uytterhoeven2008-02-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Commit cbb010c180294a5242a7681555c28737d9dd26ab ide: drop 'initializing' argument from ide_register_hw() * Rename init_hwif_data() to ide_init_port_data() and export it. * For all users of ide_register_hw() with 'initializing' argument set hwif->present and hwif->hold are always zero so convert these host drivers to use ide_find_port()+ide_init_port_data()+ide_init_port_hw() instead (also no need for init_hwif_default() call since the setup done by it gets over-ridden by ide_init_port_hw() call). * Drop 'initializing' argument from ide_register_hw(). introduced the usage of a hwif variable, but forgot to declare the actual variable. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-cd: fix leftover data BUGJens Axboe2008-02-011-1/+1
| | | | | | | | It's perfectly legal to have data leftovers when a drive signals completion, it happens all the time when a user issues a command with a transfer count that is too large. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
* blk_end_request: changing ide-cd (take 4)Kiyoshi Ueda2008-01-281-14/+35
| | | | | | | | | | | | | | | | | | | | This patch converts ide-cd (cdrom_newpc_intr()) to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. In PIO mode, ide-cd (cdrom_newpc_intr()) needs to defer end_that_request_last() until the device clears DRQ_STAT and raises an interrupt after end_that_request_first(). So blk_end_request() has to return without completing request even if no leftover in the request. ide-cd uses blk_end_request_callback() and a dummy callback function, which just returns value '1', to tell blk_end_request_callback() about that. Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com> Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
* blk_end_request: changing ide normal caller (take 4)Kiyoshi Ueda2008-01-282-16/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch converts "normal" parts of ide to use blk_end_request interfaces. Related 'uptodate' arguments are converted to 'error'. The conversion of 'uptodate' to 'error' is done only for the internal function, __ide_end_request(). ide_end_request() was not changed since it's exported and used by many ide drivers. With this patch, blkdev_dequeue_request() in __ide_end_request() is moved to blk_end_request, since blk_end_request takes care of dequeueing request like below: if (!list_empty(&rq->queuelist)) blkdev_dequeue_request(rq); In the case of ide, o 'dequeue' variable of __ide_end_request() is 1 only when the request is still linked to the queue (i.e. rq->queuelist is not empty) o 'dequeue' variable of __ide_end_request() is 0 only when the request has already been removed from the queue (i.e. rq->queuelist is empty) So blk_end_request can handle it correctly although ide always run thought the code above. Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com> Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
* ide: remove REQ_TYPE_ATA_CMDBartlomiej Zolnierkiewicz2008-01-262-112/+11
| | | | | | | | | Based on the earlier work by Tejun Heo. All users are gone so we can finally remove it. Cc: Tejun Heo <htejun@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: switch ide_cmd_ioctl() to use REQ_TYPE_ATA_TASKFILE requestsBartlomiej Zolnierkiewicz2008-01-262-34/+33
| | | | | | | | | Based on the earlier work by Tejun Heo. There should be no functionality changes caused by this patch. Cc: Tejun Heo <htejun@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: switch set_xfer_rate() to use REQ_TYPE_ATA_TASKFILE requestsBartlomiej Zolnierkiewicz2008-01-262-4/+11
| | | | | | | | | | | | Based on the earlier work by Tejun Heo. Switch set_xfer_rate() to use REQ_TYPE_ATA_TASKFILE requests and make ide_wait_cmd() static. There should be no functionality changes caused by this patch. Cc: Tejun Heo <htejun@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: fix final status check in drive_cmd_intr()Bartlomiej Zolnierkiewicz2008-01-261-2/+2
| | | | | | | | | | Don't check for READY_STAT bit being set for PIO-in protocol (makes the final status check in drive_cmd_intr() match the one in task_in_intr()). Also fix function name reported by ide_error() call while at it. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: check BUSY and ERROR status bits before reading data in drive_cmd_intr()Bartlomiej Zolnierkiewicz2008-01-261-3/+8
| | | | | Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: don't enable local IRQs for PIO-in in driver_cmd_intr() (take 2)Bartlomiej Zolnierkiewicz2008-01-261-6/+9
| | | | | | | | | | | | | | | | Don't enable local IRQs for PIO-in protocol in driver_cmd_intr(). While at it: * Remove redundant rq->cmd_type check. * Read status register after enabling local IRQs for no-data protocol. v2: * Re-add DRQ=1 check lost in v1 (noticed by Sergei). Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: convert "empty" REQ_TYPE_ATA_CMD requests to use REQ_TYPE_ATA_TASKFILEBartlomiej Zolnierkiewicz2008-01-263-3/+5
| | | | | | | | | Based on the previous work by Tejun Heo. There should be no functionality changes caused by this patch. Cc: Tejun Heo <htejun@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: initialize rq->cmd_type in ide_init_drive_cmd() callersBartlomiej Zolnierkiewicz2008-01-263-1/+7
| | | | | | | | | | * Initialize rq->cmd_type in ide_wait_cmd(), ide_cmd_ioctl() and set_pio_mode() (other callers were aleady over-riding rq->cmd_type). * Remove no longer needed rq->cmd_type setup from ide_init_drive_cmd(). Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: use wait_drive_not_busy() in drive_cmd_intr() (take 2)Bartlomiej Zolnierkiewicz2008-01-262-6/+3
| | | | | | | | | | Use wait_drive_not_busy() in drive_cmd_intr(). v2: * Fix wait_drive_not_busy() comment (noticed by Sergei). Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: kill DATA_READY defineBartlomiej Zolnierkiewicz2008-01-261-2/+2
| | | | | Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: task_end_request() fixTejun Heo2008-01-262-14/+5
| | | | | | | | | | | | | | | | task_end_request() modified to always call ide_end_drive_cmd() for taskfile requests. Previously, ide_end_drive_cmd() was called only when IDE_TFLAG_FLAGGED was set. Also, ide_dma_intr() is modified to use task_end_request(). Enables TASKFILE ioctls to get valid register outputs on successful completion. Bart: - ported it over recent IDE changes Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: use rq->nr_sectors in task_end_request()Bartlomiej Zolnierkiewicz2008-01-261-2/+2
| | | | Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: remove needless ->cursg clearing from task_end_request()Bartlomiej Zolnierkiewicz2008-01-261-2/+0
| | | | Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide: set IDE_TFLAG_IN_* flags before queuing/executing commandBartlomiej Zolnierkiewicz2008-01-264-23/+20
| | | | | | | | | | | | * Add IDE_TFLAG_{HOB,TF,DEVICE} defines. * Set IDE_TFLAG_IN_* flags in {do_rw,ide_no_data,ide_raw}_taskfile() users. * Remove no longer needed ->tf_flags setup from ide_end_drive_cmd(). There should be no functionality changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* ide-tape: fix handling of non-special requests in ->end_request methodBartlomiej Zolnierkiewicz2008-01-261-0/+5
| | | | Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
OpenPOWER on IntegriCloud