Skip to content

PATA fixes

Bartlomiej Zolnierkiewicz linux-ide lkml 1 version Applied

Status from this message: applied

Get series with b4
b4 am 20091125170218.5446.13513.sendpatchset@localhost

Versions newest first

  1. v1 Latest86 patches 101 repliesApplied

Patches in v1 Applied

#Subject and filesSizeRepliesApplied
1/86ata_piix: fix MWDMA handling on PIIX3drivers/ata/ata_piix.c+3 -30 replies
2/86ata_piix: unify code for programming PIO and MWDMA timingsdrivers/ata/ata_piix.c+37 -750 replies
3/86pata_artop: add 32-bit PIO supportdrivers/ata/pata_artop.c+2 -23 replies
4/86pata_artop: fix chipsets namingdrivers/ata/pata_artop.c+55 -560 replies
5/86pata_artop: add Power Management supportdrivers/ata/pata_artop.c+51 -211 reply
6/86pata_artop: unify ->prereset methodsdrivers/ata/pata_artop.c+7 -210 replies
7/86pata_artop: remove dead 34MHz PCI clock supportdrivers/ata/pata_artop.c+8 -211 reply
8/86pata_atiixp: add 32-bit PIO supportdrivers/ata/pata_atiixp.c+1 -10 replies
9/86pata_atiixp: no need to program PIO timings for MWDMAdrivers/ata/pata_atiixp.c+0 -151 reply
10/86pata_atiixp: add MWDMA0 supportdrivers/ata/pata_atiixp.c+1 -10 replies
11/86pata_atiixp: remove custom BMDMA methodsdrivers/ata/pata_atiixp.c+6 -521 reply
12/86pata_atiixp: add proper ->prereset methoddrivers/ata/pata_atiixp.c+26 -91 reply
13/86pata_efar: add 32-bit PIO supportdrivers/ata/pata_efar.c+1 -10 replies
14/86pata_efar: fix wrong PIO timings being programmeddrivers/ata/pata_efar.c+3 -20 replies
15/86pata_efar: fix wrong MWDMA timings being programmeddrivers/ata/pata_efar.c+1 -10 replies
16/86pata_efar: MWDMA0 is unsupporteddrivers/ata/pata_efar.c+1 -19 replies
17/86pata_efar: fix register naming used in efar_set_piomode()drivers/ata/pata_efar.c+11 -112 replies
18/86pata_efar: unify code for programming PIO and MWDMA timingsdrivers/ata/pata_efar.c+29 -590 replies
19/86pata_cmd640: document known issuesdrivers/ata/Kconfig+5 -25 replies
20/86pata_cmd64x: add 32-bit PIO supportdrivers/ata/pata_cmd64x.c+1 -10 replies
21/86pata_cmd64x: add enablebits checkingdrivers/ata/pata_cmd64x.c+36 -00 replies
22/86pata_cmd64x: add cmd64x_fixup()drivers/ata/pata_cmd64x.c+19 -220 replies
23/86pata_cs5520: add 32-bit PIO supportdrivers/ata/pata_cs5520.c+1 -10 replies
24/86pata_cs5520: remove dead VDMA supportdrivers/ata/pata_cs5520.c+1 -381 reply
25/86pata_cs5530: add 32-bit PIO supportdrivers/ata/pata_cs5530.c+1 -10 replies
26/86pata_cs5535: add 32-bit PIO supportdrivers/ata/pata_cs5535.c+1 -10 replies
27/86pata_cs5535: no need to program PIO0 timings during device initdrivers/ata/pata_cs5535.c+0 -120 replies
28/86pata_cypress: add 32-bit PIO supportdrivers/ata/pata_cypress.c+1 -10 replies
29/86pata_cypress: document known issuesdrivers/ata/Kconfig+3 -00 replies
30/86pata_hpt366: add 32-bit PIO supportdrivers/ata/pata_hpt366.c+1 -10 replies
31/86pata_hpt37x: add 32-bit PIO supportdrivers/ata/pata_hpt37x.c+2 -20 replies
32/86pata_hpt3x2n: add 32-bit PIO supportdrivers/ata/pata_hpt3x2n.c+1 -10 replies
33/86pata_hpt3x3: Power Management fixdrivers/ata/pata_hpt3x3.c+10 -10 replies
34/86pata_it8213: add 32-bit PIO supportdrivers/ata/pata_it8213.c+1 -10 replies
35/86pata_it8213: fix UDMA handlingdrivers/ata/pata_it8213.c+2 -20 replies
36/86pata_it8213: add UDMA100 and UDMA133 supportdrivers/ata/pata_it8213.c+2 -24 replies
37/86pata_it8213: fix wrong PIO timings being programmeddrivers/ata/pata_it8213.c+2 -20 replies
38/86pata_it8213: fix PIO2 underclockingdrivers/ata/pata_it8213.c+6 -70 replies
39/86pata_it8213: fix wrong MWDMA timings being programmeddrivers/ata/pata_it8213.c+1 -10 replies
40/86pata_it8213: fix register naming used in it8213_set_piomode()drivers/ata/pata_it8213.c+10 -100 replies
41/86pata_efar: unify code for programming PIO and MWDMA timingsdrivers/ata/pata_it8213.c+29 -581 reply
42/86pata_it8213: fix it8213_pre_reset() documentationdrivers/ata/pata_it8213.c+1 -10 replies
43/86pata_it821x: add 32-bit PIO supportdrivers/ata/pata_it821x.c+4 -40 replies
44/86pata_jmicron: add 32-bit PIO supportdrivers/ata/pata_jmicron.c+1 -10 replies
45/86pata_legacy: do not probe extra ports automatically if PCI is not presentdrivers/ata/pata_legacy.c+1 -14 replies
46/86pata_legacy: fix QDI6580DP supportdrivers/ata/pata_legacy.c+1 -00 replies
47/86pata_legacy: fix access to control register for QDI6580drivers/ata/pata_legacy.c+2 -20 replies
48/86pata_legacy: add pointers to QDI65x0 documentationdrivers/ata/pata_legacy.c+8 -14 replies
49/86pata_legacy: unify QDI ->set_piomode methodsdrivers/ata/pata_legacy.c+23 -750 replies
50/86pata_legacy: use PIO mask definesdrivers/ata/pata_legacy.c+11 -110 replies
51/86libata: remove no longer needed pata_qdi driverdrivers/ata/Kconfig drivers/ata/Makefile drivers/ata/pata_legacy.c +1 more+9 -3681 reply
52/86libata: remove no longer needed pata_winbond driverdrivers/ata/Kconfig drivers/ata/Makefile drivers/ata/pata_legacy.c +1 more+12 -2850 replies
53/86pata_marvell: fix marvell_pre_reset() documentationdrivers/ata/pata_marvell.c+1 -10 replies
54/86pata_ns87415: add 32-bit PIO supportdrivers/ata/pata_ns87415.c+1 -10 replies
55/86pata_ns87415: Power Management fixdrivers/ata/pata_ns87415.c+27 -50 replies
56/86pata_oldpiix: unify code for programming PIO and MWDMA timingsdrivers/ata/pata_oldpiix.c+27 -610 replies
57/86pata_opti: add 32-bit PIO supportdrivers/ata/pata_opti.c+2 -00 replies
58/86pata_pdc2027x: add 32-bit PIO supportdrivers/ata/pata_pdc2027x.c+1 -10 replies
59/86pata_pdc2027x: add Power Management supportdrivers/ata/pata_pdc2027x.c+30 -00 replies
60/86pata_pdc202xx_old: add 32-bit PIO supportdrivers/ata/pata_pdc202xx_old.c+2 -20 replies
61/86pata_sis: Power Management fixdrivers/ata/pata_pdc202xx_old.c+31 -20 replies
62/86pata_pdc202xx_old: document known issuesdrivers/ata/Kconfig+4 -010 replies
63/86pata_radisys: fix UDMA handlingdrivers/ata/pata_radisys.c+2 -20 replies
64/86pata_radisys: unify code for programming PIO and MWDMA timingsdrivers/ata/pata_radisys.c+25 -411 reply
65/86pata_rdc: unify code for programming PIO and MWDMA timingsdrivers/ata/pata_rdc.c+33 -660 replies
66/86pata_rz1000: add 32-bit PIO supportdrivers/ata/pata_rz1000.c+2 -00 replies
67/86pata_rz1000: Power Management fixdrivers/ata/pata_rz1000.c+10 -10 replies
68/86pata_sc1200: add 32-bit PIO supportdrivers/ata/pata_sc1200.c+1 -10 replies
69/86pata_scc: add 32-bit PIO supportdrivers/ata/pata_scc.c+1 -12 replies
70/86pata_scc: add proper cable detection methoddrivers/ata/pata_scc.c+1 -130 replies
71/86pata_sch: add 32-bit PIO supportdrivers/ata/pata_sch.c+1 -10 replies
72/86pata_serverworks: add 32-bit PIO supportdrivers/ata/pata_serverworks.c+1 -10 replies
73/86pata_serverworks: use standard cable detection methodsdrivers/ata/pata_serverworks.c+12 -330 replies
74/86pata_serverworks: add serverworks_fixup()drivers/ata/pata_serverworks.c+29 -280 replies
75/86pata_sl82c105: add 32-bit PIO supportdrivers/ata/pata_sl82c105.c+1 -10 replies
76/86pata_sl82c105: add Power Management supportdrivers/ata/pata_sl82c105.c+32 -50 replies
77/86pata_sis: add 32-bit PIO supportdrivers/ata/pata_sis.c+2 -20 replies
78/86pata_sis: Power Management fixdrivers/ata/pata_sis.c+19 -20 replies
79/86pata_triflex: add 32-bit PIO supportdrivers/ata/pata_triflex.c+1 -10 replies
80/86libata: make ata_sff_data_xfer_noirq() work with 32-bit PIOdrivers/ata/libata-sff.c+1 -10 replies
81/86pata_via: add 32-bit PIO supportdrivers/ata/pata_via.c+1 -10 replies
82/86pata_via: clear UDMA transfer mode bit for PIO and MWDMAdrivers/ata/pata_via.c+13 -66 replies
83/86pata_via: add via_fixup()drivers/ata/pata_via.c+23 -300 replies
84/86libata: add ata_mwdma_to_pio() inline helperdrivers/ata/ata_piix.c drivers/ata/pata_efar.c drivers/ata/pata_it8213.c +4 more+21 -491 reply
85/86libata: add ->init_host methoddrivers/ata/libata-core.c drivers/ata/libata-sff.c drivers/ata/pata_ali.c +14 more+173 -3171 reply
86/86libata: add private driver field to struct ata_deviceinclude/linux/libata.h+1 -06 replies

Reviews trailers per patch

None of the 86 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchJames BottomleySergei Shtylyov
SeriesA-b A-b A-b
1/86
2/86
3/86
4/86
5/86
6/86
7/86
8/86
9/86
10/86
11/86
12/86
13/86
14/86
15/86
16/86
17/86
18/86
19/86
20/86
21/86
22/86
23/86
24/86
25/86
26/86
27/86
28/86
29/86
30/86
31/86
32/86
33/86
34/86
35/86
36/86
37/86
38/86
39/86
40/86
41/86
42/86
43/86
44/86
45/86
46/86
47/86
48/86
49/86
50/86
51/86
52/86
53/86
54/86
55/86
56/86
57/86
58/86
59/86
60/86
61/86
62/86
63/86
64/86
65/86
66/86
67/86
68/86
69/86
70/86
71/86
72/86
73/86
74/86
75/86
76/86
77/86
78/86
79/86
80/86
81/86
82/86
83/86
84/86
85/86
86/86

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 00/86] PATA fixes

Hi,

I've been going through PATA drivers for the last few days to make sure that we offer similar level of hardware support in the new PATA drivers as with the old IDE subsystem and the following patchset is the end result of said audit.

Inside:

- many bugfixes

( ata_piix, pata_artop, pata_atiixp, pata_efar, pata_cmd64x,

    pata_hpt3x3, pata_it8213, pata_legacy, pata_ns87415, pata_sis,
    pata_radisys, pata_rz1000 & pata_via )

- add Power Management support for more controllers

( pata_artop, pata_pdc2027x, pata_sl82c105 )

- add 32-bit PIO support for more controllers

( pata_artop, pata_atiixp, pata_efar, pata_cmd64x, pata_cs5520,

    pata_cs5530, pata_cs5535, pata_cypress, pata_hpt366, pata_hpt37x,
    pata_hpt3x2n, pata_it8213, pata_it821x, pata_jmicron, pata_ns87415,
    pata_opti, pata_pdc2027x, pata_pdc202xx_old, pata_rz1000,
    pata_sc1200, pata_scc, pata_sch, pata_serverworks, pata_sl82c105,
    pata_sis, pata_triflex & pata_via )

- fix QDI65x0 support in pata_legacy driver so pata_qdi driver can be finally removed

- remove pata_qdi and pata_winbond drivers resulting in 600 LOC gone

(affected hardware is fully supported by pata_legacy driver now)

- unify code for programming PIO and MWDMA timings for 'PIIX-like' controllers resulting in 200 LOC gone

( ata_piix, pata_efar, pata_it8213, pata_oldpiix, pata_radisys &
pata_rdc )

- add ->init_host method for abstracting host specific controller initialization and then use it to cleanup Power Managment code resulting in over 100 LOC gone

( pata_ali, pata_amd, pata_artop, pata_cmd640, pata_cmd64x,

    pata_cs5530, pata_hpt366, pata_hpt3x3, pata_it821x, pata_ninja32,
    pata_ns87415, pata_pdc2027x & sata_sil )

- misc fixes and cleanups

The following changes since commit 5c0e519edce8aa5c517e3b3e9a1fdf6fa0f3cf83:
Christoph Hellwig (1):
libata: add translation for SCSI WRITE SAME (aka TRIM support)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/bart/misc.git atang-v1

Bartlomiej Zolnierkiewicz (86):
ata_piix: fix MWDMA handling on PIIX3
ata_piix: unify code for programming PIO and MWDMA timings
pata_artop: add 32-bit PIO support
pata_artop: fix chipsets naming
pata_artop: add Power Management support
pata_artop: unify ->prereset methods
pata_artop: remove dead 34MHz PCI clock support
pata_atiixp: add 32-bit PIO support
pata_atiixp: no need to program PIO timings for MWDMA
pata_atiixp: add MWDMA0 support
pata_atiixp: remove custom BMDMA methods
pata_atiixp: add proper ->prereset method
pata_efar: add 32-bit PIO support
pata_efar: fix wrong PIO timings being programmed
pata_efar: fix wrong MWDMA timings being programmed
pata_efar: MWDMA0 is unsupported
pata_efar: fix register naming used in efar_set_piomode()
pata_efar: unify code for programming PIO and MWDMA timings
pata_cmd640: document known issues
pata_cmd64x: add 32-bit PIO support
pata_cmd64x: add enablebits checking
pata_cmd64x: add cmd64x_fixup()
pata_cs5520: add 32-bit PIO support
pata_cs5520: remove dead VDMA support
pata_cs5530: add 32-bit PIO support
pata_cs5535: add 32-bit PIO support
pata_cs5535: no need to program PIO0 timings during device init
pata_cypress: add 32-bit PIO support
pata_cypress: document known issues
pata_hpt366: add 32-bit PIO support
pata_hpt37x: add 32-bit PIO support
pata_hpt3x2n: add 32-bit PIO support
pata_hpt3x3: Power Management fix
pata_it8213: add 32-bit PIO support
pata_it8213: fix UDMA handling
pata_it8213: add UDMA100 and UDMA133 support
pata_it8213: fix wrong PIO timings being programmed
pata_it8213: fix PIO2 underclocking
pata_it8213: fix wrong MWDMA timings being programmed
pata_it8213: fix register naming used in it8213_set_piomode()
pata_efar: unify code for programming PIO and MWDMA timings
pata_it8213: fix it8213_pre_reset() documentation
pata_it821x: add 32-bit PIO support
pata_jmicron: add 32-bit PIO support
pata_legacy: do not probe extra ports automatically if PCI is not present
pata_legacy: fix QDI6580DP support
pata_legacy: fix access to control register for QDI6580
pata_legacy: add pointers to QDI65x0 documentation
pata_legacy: unify QDI ->set_piomode methods
pata_legacy: use PIO mask defines
libata: remove no longer needed pata_qdi driver
libata: remove no longer needed pata_winbond driver
pata_marvell: fix marvell_pre_reset() documentation
pata_ns87415: add 32-bit PIO support
pata_ns87415: Power Management fix
pata_oldpiix: unify code for programming PIO and MWDMA timings
pata_opti: add 32-bit PIO support
pata_pdc2027x: add 32-bit PIO support
pata_pdc2027x: add Power Management support
pata_pdc202xx_old: add 32-bit PIO support
pata_sis: Power Management fix
pata_pdc202xx_old: document known issues
pata_radisys: fix UDMA handling
pata_radisys: unify code for programming PIO and MWDMA timings
pata_rdc: unify code for programming PIO and MWDMA timings
pata_rz1000: add 32-bit PIO support
pata_rz1000: Power Management fix
pata_sc1200: add 32-bit PIO support
pata_scc: add 32-bit PIO support
pata_scc: add proper cable detection method
pata_sch: add 32-bit PIO support
pata_serverworks: add 32-bit PIO support
pata_serverworks: use standard cable detection methods
pata_serverworks: add serverworks_fixup()
pata_sl82c105: add 32-bit PIO support
pata_sl82c105: add Power Management support
pata_sis: add 32-bit PIO support
pata_sis: Power Management fix
pata_triflex: add 32-bit PIO support
libata: make ata_sff_data_xfer_noirq() work with 32-bit PIO
pata_via: add 32-bit PIO support
pata_via: clear UDMA transfer mode bit for PIO and MWDMA
pata_via: add via_fixup()
libata: add ata_mwdma_to_pio() inline helper
libata: add ->init_host method
libata: add private driver field to struct ata_device

 drivers/ata/Kconfig             |   16 ++-
 drivers/ata/Makefile            |    2 -
 drivers/ata/ata_piix.c          |  113 ++++---------
 drivers/ata/libata-core.c       |   14 ++-
 drivers/ata/libata-sff.c        |   12 +-
 drivers/ata/pata_ali.c          |   29 +--
 drivers/ata/pata_amd.c          |   45 ++---
 drivers/ata/pata_artop.c        |  224 ++++++++++++-------------
 drivers/ata/pata_atiixp.c       |  112 ++++---------
 drivers/ata/pata_cmd640.c       |   27 +--
 drivers/ata/pata_cmd64x.c       |  100 +++++++-----
 drivers/ata/pata_cs5520.c       |   41 +----
 drivers/ata/pata_cs5530.c       |   33 +---
 drivers/ata/pata_cs5535.c       |   14 +--
 drivers/ata/pata_cypress.c      |    2 +-
 drivers/ata/pata_efar.c         |  121 +++++---------
 drivers/ata/pata_hpt366.c       |   32 ++---
 drivers/ata/pata_hpt37x.c       |    4 +-
 drivers/ata/pata_hpt3x2n.c      |    2 +-
 drivers/ata/pata_hpt3x3.c       |   23 ++--
 drivers/ata/pata_it8213.c       |  136 ++++++---------
 drivers/ata/pata_it821x.c       |   39 ++---
 drivers/ata/pata_jmicron.c      |    2 +-
 drivers/ata/pata_legacy.c       |  156 +++++++----------
 drivers/ata/pata_marvell.c      |    2 +-
 drivers/ata/pata_ninja32.c      |   30 ++--
 drivers/ata/pata_ns87415.c      |   22 ++-
 drivers/ata/pata_oldpiix.c      |   95 +++-------
 drivers/ata/pata_opti.c         |    2 +
 drivers/ata/pata_pdc2027x.c     |   24 ++-
 drivers/ata/pata_pdc202xx_old.c |   37 ++++-
 drivers/ata/pata_qdi.c          |  366 ---------------------------------------
 drivers/ata/pata_radisys.c      |   78 +++------
 drivers/ata/pata_rdc.c          |  106 ++++--------
 drivers/ata/pata_rz1000.c       |   13 ++-
 drivers/ata/pata_sc1200.c       |    2 +-
 drivers/ata/pata_scc.c          |   16 +--
 drivers/ata/pata_sch.c          |    2 +-
 drivers/ata/pata_serverworks.c  |  104 +++++-------
 drivers/ata/pata_sis.c          |   25 +++-
 drivers/ata/pata_sl82c105.c     |   28 +++-
 drivers/ata/pata_triflex.c      |    2 +-
 drivers/ata/pata_via.c          |   74 ++++----
 drivers/ata/pata_winbond.c      |  282 ------------------------------
 drivers/ata/sata_sil.c          |   33 +---
 include/linux/ata.h             |   11 ++
 include/linux/libata.h          |   15 ++-
 47 files changed, 854 insertions(+), 1814 deletions(-)
 delete mode 100644 drivers/ata/pata_qdi.c
 delete mode 100644 drivers/ata/pata_winbond.c