3153c26b54230d025c6d536e8d3015def4524906 |
|
08-Apr-2009 |
Sergei Shtylyov <sshtylyov@ru.mvista.com> |
ide: refactor tf_read() method Simplify tf_read() method, making it deal only with 'struct ide_taskfile' and the validity flags that the upper layer passes, and factoring out the code that deals with the high order bytes into ide_tf_readback() to be called from the only two functions interested, ide_complete_cmd() and ide_dump_sector(). This should stop the needless code duplication in this method and so make it about twice smaller than it was; along with simplifying the setup for the method call, this should save both time and space... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
30881b9ac91e7c23e0ceb8414ab7de1961809bdd |
|
08-Apr-2009 |
Sergei Shtylyov <sshtylyov@ru.mvista.com> |
ide: call write_devctl() method from tf_read() method Use write_devctl() method to clear/set the HOB bit in tf_read() method. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
745483f10c6cefb303007c6873e2bfce54efa8ed |
|
08-Apr-2009 |
Sergei Shtylyov <sshtylyov@ru.mvista.com> |
ide: simplify 'struct ide_taskfile' Make 'struct ide_taskfile' cover only 8 register values and thus put two such fields ('tf' and 'hob') into 'struct ide_cmd', dropping unnecessary 'tf_array' field from it. This required changing the prototype of ide_get_lba_addr() and ide_tf_dump(). Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> [bart: fix setting of ATA_LBA bit for LBA48 commands in __ide_do_rw_disk()] Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
60f85019c6c8c1aebf3485a313e0da094bc95d07 |
|
08-Apr-2009 |
Sergei Shtylyov <sshtylyov@ru.mvista.com> |
ide: replace IDE_TFLAG_* flags by IDE_VALID_* Replace IDE_TFLAG_{IN|OUT}_* flags meaning to the taskfile register validity on input/output by the IDE_VALID_* flags and introduce 4 symmetric 8-bit register validity indicator subfields, 'valid.{input/output}.{tf|hob}', into the 'struct ide_cmd' instead of using the 'tf_flags' field for that purpose (this field can then be turned from 32-bit into 8-bit one). Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
fdd88f0af616db59a6a36bdf0185181d2b779f53 |
|
31-Mar-2009 |
Sergei Shtylyov <sshtylyov@ru.mvista.com> |
ide: inline SELECT_DRIVE() Since SELECT_DRIVE() has boiled down to a mere dev_select() method call, it now makes sense to just inline it... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
abb596b25edac1ec1acc4ef53df190771661c3d2 |
|
31-Mar-2009 |
Sergei Shtylyov <sshtylyov@ru.mvista.com> |
ide: turn selectproc() method into dev_select() method (take 5) Turn selectproc() method into dev_select() method by teaching it to write to the device register and moving it from 'struct ide_port_ops' to 'struct ide_tp_ops'. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: benh@kernel.crashing.org Cc: petkovbb@gmail.com [bart: add ->dev_select to at91_ide.c and tx4939.c (__BIG_ENDIAN case)] Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
35218d1ca808ed19b8c6f079ce91872b3deb2219 |
|
31-Mar-2009 |
Sergei Shtylyov <sshtylyov@ru.mvista.com> |
ide: move data register access out of tf_{read|load}() methods (take 2) Move IDE_FTFLAG_{IN|OUT}_DATA flag handling out of tf_{read|load}() methods into the only two functions where these flags actually need to be handled: do_rw_taskfile() and ide_complete_cmd()... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
bac08cee93f9cb37b40ecfa8eaf1f6d8daf3909b |
|
31-Mar-2009 |
Sergei Shtylyov <sshtylyov@ru.mvista.com> |
ide: call {in|out}put_data() methods from tf_{read|load}() methods (take 2) Handle IDE_FTFLAG_{IN|OUT}_DATA flags in tf_{read|load}() methods by calling {in|out}put_data() methods to transfer 2 bytes -- this will allow us to move that handling out of those methods altogether... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
6762511934e6e7287ce3c8baac0d52ef64e3787b |
|
31-Mar-2009 |
Sergei Shtylyov <sshtylyov@ru.mvista.com> |
ide: rename IDE_TFLAG_IN_[HOB_]FEATURE The feature register has never been readable -- when its location is read, one gets the error register value; hence rename IDE_TFLAG_IN_[HOB_]FEATURE into IDE_TFLAG_IN_[HOB_]ERROR and introduce the 'hob_error' field into the 'struct ide_taskfile' (despite the error register not really depending on the HOB bit). Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
ecf3a31d2a08a419bdf919456f1724f5b72bde2c |
|
31-Mar-2009 |
Sergei Shtylyov <sshtylyov@ru.mvista.com> |
ide: turn set_irq() method into write_devctl() method Turn set_irq() method with its software reset hack into write_devctl() method (for just writing a value into the device control register) at last... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
4d74c3fcf2b90487eacec511bc8c07177711c81c |
|
31-Mar-2009 |
Sergei Shtylyov <sshtylyov@ru.mvista.com> |
ide: use ATA_HOB Make use of ATA_HOB instead of hard-coded value in the tf_read() method. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
88b4132e101e60e8fa67996ae3072ab6b71e8500 |
|
31-Mar-2009 |
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> |
ide: set/clear drive->waiting_for_dma flag in the core code Set/clear drive->waiting_for_dma flag in the core code instead of in ->dma_setup and ->dma_end methods. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
a6d67ffa7dfe9515d8f2051a76b14c82b748475a |
|
31-Mar-2009 |
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> |
ns87415: use custom ->dma_{start,end} to handle ns87415_prepare_drive() Use custom ->dma_{start,end} methods to handle ns87415_prepare_drive() there instead of in ->dma_setup method. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
4453011f959a5f5c6c7a33aea54fe17f5e43a867 |
|
31-Mar-2009 |
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> |
ide: destroy DMA mappings after ending DMA (v2) Move ide_destroy_dmatable() call out from ->dma_end method to {ide_pc,cdrom_newpc,ide_dma}_intr(), ide_dma_timeout_retry() and sgiioc4_resetproc(). This causes minor/safe behavior changes w.r.t.: * cmd64x.c::cmd64{8,x}_dma_end() * cs5536.c::cs5536_dma_end() * icside.c::icside_dma_end() * it821x.c::it821x_dma_end() * scc_pata.c::__scc_dma_end() * sl82c105.c::sl82c105_dma_end() * tx4939ide.c::tx4939ide_dma_end() v2: * Fix build for CONFIG_BLK_DEV_IDEDMA=n (reported by Randy Dunlap). Cc: Randy Dunlap <randy.dunlap@oracle.com> Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
35c9b4daf4c94b30e5cede597d98016ebf31b5ad |
|
31-Mar-2009 |
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> |
ide: add ->dma_clear method and remove ->dma_timeout one All custom ->dma_timeout implementations call the generic one thus it is possible to have only an optional method for resetting DMA engine instead: * Add ->dma_clear method and convert hpt366, pdc202xx_old and sl82c105 host drivers to use it. * Always use ide_dma_timeout() in ide_dma_timeout_retry() and remove ->dma_timeout method. * Make ide_dma_timeout() static. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
22117d6eaac50d366d9013c88318a869ea4d8739 |
|
27-Mar-2009 |
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> |
ide: add ->dma_timer_expiry method and remove ->dma_exec_cmd one (v2) * Rename dma_timer_expiry() to ide_dma_sff_timer_expiry() and export it. * Add ->dma_timer_expiry method and use it to set hwif->expiry for ATA_PROT_DMA protocol in do_rw_taskfile(). * Initialize ->dma_timer_expiry to ide_dma_sff_timer_expiry() for SFF hosts. * Move setting hwif->expiry from ide_execute_command() to its users and drop 'expiry' argument. * Use ide_execute_command() instead of ->dma_exec_cmd in do_rw_taskfile(). * Remove ->dma_exec_cmd method and its implementations. * Unexport ide_execute_command() and ide_dma_intr(). v2: * Fix CONFIG_BLK_DEV_IDEDMA=n build (noticed by Randy Dunlap). * Fix *dma_expiry naming (suggested by Sergei Shtylyov). There should be no functional changes caused by this patch. Cc: Randy Dunlap <randy.dunlap@oracle.com> Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
2298169418f43ba5e0919762a4bab95a1227872a |
|
27-Mar-2009 |
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> |
ide: pass command to ide_map_sg() * Set IDE_TFLAG_WRITE flag and ->rq also for ATA_CMD_PACKET commands. * Pass command to ->dma_setup method and update all its implementations accordingly. * Pass command instead of request to ide_build_sglist(), *_build_dmatable() and ide_map_sg(). While at it: * Fix scc_dma_setup() documentation + use ATA_DMA_WR define. * Rename sgiioc4_build_dma_table() to sgiioc4_build_dmatable(), change return value type to 'int' and drop unused 'ddir' argument. * Do some minor cleanups in [tx4939]ide_dma_setup(). There should be no functional changes caused by this patch. Acked-by: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
22aa4b32a19b1f231d4ce7e9af6354b577a22a35 |
|
27-Mar-2009 |
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> |
ide: remove ide_task_t typedef While at it: - rename struct ide_task_s to struct ide_cmd - remove stale comments from idedisk_{read_native,set}_max_address() - drop unused 'cmd' argument from ide_{cmd,task}_ioctl() - drop unused 'task' argument from tx4939ide_tf_load_fixup() - rename ide_complete_task() to ide_complete_cmd() - use consistent naming for struct ide_cmd variables There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
19710d25d50ae0be05eebe4231ed8918b1092d82 |
|
27-Mar-2009 |
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> |
ide: add "flagged" taskfile flags to struct ide_taskfile (v2) * Add ->ftf_flags field to struct ide_taskfile and convert flags for TASKFILE ioctl to use it. * Rename "flagged" taskfile flags: - IDE_TFLAG_FLAGGED -> IDE_FTFLAG_FLAGGED - IDE_TFLAG_FLAGGED_SET_IN_FLAGS -> IDE_FTFLAG_SET_IN_FLAGS - IDE_TFLAG_{OUT,IN}_DATA -> IDE_FTFLAG_{OUT,IN}_DATA v2: * Remember to fully update ide-h8300.c, scc_pata.c and tx493{8,9}ide.c (thanks to Stephen Rothwell for noticing). There should be no functional changes caused by this patch. Cc: Stephen Rothwell <sfr@canb.auug.org.au> Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
49727e3d20ba10921572e35bc99b2c2e1b8c1dba |
|
24-Mar-2009 |
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> |
ns87415: small ->init_hwif cleanup Core IDE PCI code takes care of assigning hwif->irq for both ports. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
973d9e743979d4d3f06d8071c22187b2bdc0ef24 |
|
24-Mar-2009 |
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> |
ns87415: use pci_get_legacy_ide_irq() Fix ->init_hwif to use pci_get_legacy_ide_irq() instead of __ide_default_irq(). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
592b5315219881c6c0af4785f96456ad2043193a |
|
06-Jan-2009 |
Sergei Shtylyov <sshtylyov@ru.mvista.com> |
ide: move read_sff_dma_status() method to 'struct ide_dma_ops' Move apparently misplaced read_sff_dma_status() method from 'struct ide_tp_ops' to 'struct ide_dma_ops', renaming it to dma_sff_read_status() and making only required for SFF-8038i compatible IDE controller drivers (greatly cutting down the number of initializers) as its only user (outside ide-dma-sff.c and such drivers) appears to be ide_pci_check_simplex() which is only called for such controllers... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
898ec223fea2a2df88035e58dbf50f493577e225 |
|
06-Jan-2009 |
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> |
ide: remove HWIF() macro Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|
2bfba3c444fe8b2ab1c38112a89d8f03b61136ca |
|
21-Oct-2008 |
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> |
ide: remove useless subdirs from drivers/ide/ Suggested-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
/drivers/ide/ns87415.c
|