linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: b.zolnierkie@samsung.com (Bartlomiej Zolnierkiewicz)
To: linux-arm-kernel@lists.infradead.org
Subject: [RESEND PATCH] arm: assabet_defconfig: disable IDE subsystem
Date: Thu, 14 Jul 2016 11:59:23 +0200	[thread overview]
Message-ID: <9239486.GVgcNxaS76@amdc1976> (raw)
In-Reply-To: <20160713174512.GB1041@n2100.armlinux.org.uk>


Hi,

On Wednesday, July 13, 2016 06:45:12 PM Russell King - ARM Linux wrote:
> On Wed, Jul 13, 2016 at 04:37:31PM +0200, Arnd Bergmann wrote:
> > On Wednesday, July 13, 2016 12:59:23 PM CEST Bartlomiej Zolnierkiewicz wrote:
> > > 
> > > On Friday, July 08, 2016 10:23:48 PM Arnd Bergmann wrote:
> > > > On Friday, July 8, 2016 5:24:41 PM CEST Bartlomiej Zolnierkiewicz wrote:
> > > > > This patch disables deprecated IDE subsystem in assabet_defconfig
> > > > > (no IDE host drivers are selected in this config so there is no
> > > > > valid reason to enable IDE subsystem itself).
> > > > > 
> > > > > Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
> > > > > Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
> > > > 
> > > > I think the series makes a lot of sense. I have checked your assertions
> > > > in the changelogs and found no flaws in your logic, so I think we should
> > > > take them all through arm-soc unless there are other concerns.
> > > 
> > > Thank you.
> > > 
> > > Should I resend everything or just patches that were not reposted yet
> > > (the ones that were marked as RFT initially and got no feedback)?
> > 
> > I'd be fine with just getting a pull request with all the patches that
> > had no negative feedback and that were not already applied (if any).
> 
> I'd actually say be very careful about this - there's a big difference
> between the ATA subsystem and IDE subsystem.  I've had situations with
> old platforms where stuff works with IDE and not ATA.
> 
> For example, using the CY82C693 driver used to work with the IDE
> subsystem before it got broken on ARM systems with DMA disabled (because
> the CY82C693 deadlocks the PCI bus on any BM-DMA).  From what I remember,
> ATA provided no easy way to disable DMA on such interfaces.

You can do this using libata.dma kernel parameter:

	libata.dma=	[LIBATA] DMA control
			libata.dma=0	  Disable all PATA and SATA DMA
			libata.dma=1	  PATA and SATA Disk DMA only
			libata.dma=2	  ATAPI (CDROM) DMA only
			libata.dma=4	  Compact Flash DMA only
			Combinations also work, so libata.dma=3 enables DMA
			for disks and CDROMs, but not CFs.

Or even force specific speed for chosen device using libata.force
kernel parameter:

	libata.force=	[LIBATA] Force configurations.  The format is comma
			separated list of "[ID:]VAL" where ID is
			PORT[.DEVICE].  PORT and DEVICE are decimal numbers
			matching port, link or device.  Basically, it matches
			the ATA ID string printed on console by libata.  If
			the whole ID part is omitted, the last PORT and DEVICE
			values are used.  If ID hasn't been specified yet, the
			configuration applies to all ports, links and devices.

			If only DEVICE is omitted, the parameter applies to
			the port and all links and devices behind it.  DEVICE
			number of 0 either selects the first device or the
			first fan-out link behind PMP device.  It does not
			select the host link.  DEVICE number of 15 selects the
			host link and device attached to it.

			The VAL specifies the configuration to force.  As long
			as there's no ambiguity shortcut notation is allowed.
			For example, both 1.5 and 1.5G would work for 1.5Gbps.
			The following configurations can be forced.
...
			* Transfer mode: pio[0-7], mwdma[0-4] and udma[0-7].
			  udma[/][16,25,33,44,66,100,133] notation is also
			  allowed.
...

However it would be the best to detect affected platforms from
ATA host driver and not enable DMA on them automatically (same
is true for IDE subsystem host driver equivalent).

> I also looked at using ATA on EBSA110, and it was far from trivial due
> to munged address lines and access size problems: with IDE, it was
> easy to work around by redirecting the in*/out* appropriately on a
> per-driver basis.  I forget exactly why ATA didn't work, but it didn't
> and I came to the conclusion that it was not feasible to fix.

You can define your own transport helpers in ATA subsystem (same
is true for IDE subsystem BTW) hacking in*()/out*() helpers is not
how it should be done.

Please just post patches / questions and I would be glad to help
with making ATA subsystem work on hardware that is currently limited
to IDE subsystem.

[ BTW from looking at examples given it seems that they don't work
  even with IDE subsystem nowadays. ]

> So, please don't assume that ATA can be simply slotted in instead of
> IDE.

I don't assume it.  Each case was reviewed separately and I replaced
only that host drivers in defconfigs that looked OK after doing full
code comparison between IDE and ATA versions.  If you know about
specific cases that won't work after my patches please let me know.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

  reply	other threads:[~2016-07-14  9:59 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-08 15:24 [RESEND PATCH] arm: assabet_defconfig: disable IDE subsystem Bartlomiej Zolnierkiewicz
2016-07-08 15:24 ` [RESEND PATCH] arm: badge4_defconfig: " Bartlomiej Zolnierkiewicz
2016-07-08 15:24 ` [RESEND PATCH] arm: cerfcube_defconfig: " Bartlomiej Zolnierkiewicz
2016-07-08 15:24 ` [RESEND PATCH] arm: colibri_pxa270_defconfig: " Bartlomiej Zolnierkiewicz
2016-07-16  9:01   ` Robert Jarzmik
2016-07-08 15:24 ` [RESEND PATCH] arm: lart_defconfig: " Bartlomiej Zolnierkiewicz
2016-07-08 15:24 ` [RESEND PATCH] arm: lpda270_defconfig: " Bartlomiej Zolnierkiewicz
2016-07-08 15:24 ` [PATCH v2] arm: mainstone_defconfig: " Bartlomiej Zolnierkiewicz
2016-07-08 15:24 ` [RESEND PATCH] arm: pxa255-idp_defconfig: " Bartlomiej Zolnierkiewicz
2016-07-08 15:24 ` [RESEND PATCH] arm: shannon_defconfig: " Bartlomiej Zolnierkiewicz
2016-07-08 15:24 ` [RESEND PATCH] arm: trizeps4_defconfig: " Bartlomiej Zolnierkiewicz
2016-07-08 20:23 ` [RESEND PATCH] arm: assabet_defconfig: " Arnd Bergmann
2016-07-13 10:59   ` Bartlomiej Zolnierkiewicz
2016-07-13 14:37     ` Arnd Bergmann
2016-07-13 17:45       ` Russell King - ARM Linux
2016-07-14  9:59         ` Bartlomiej Zolnierkiewicz [this message]
2016-07-15 15:15       ` Kevin Hilman
2016-07-18 14:45         ` Sekhar Nori
2016-12-12 12:45           ` Bartlomiej Zolnierkiewicz
2016-12-12 13:54             ` Sekhar Nori
2017-03-07 17:51               ` Bartlomiej Zolnierkiewicz
2017-03-08 15:00                 ` Sekhar Nori
2017-03-09  8:39                   ` Sekhar Nori
2017-03-09  9:25                     ` Sergei Shtylyov
2017-03-09 12:20                       ` Sekhar Nori
2017-03-09 12:24                         ` Sergei Shtylyov
2017-03-09 13:57                           ` Russell King - ARM Linux
     [not found]                             ` <CGME20170309144256epcas1p25b4c18f7ced857f71e2f8c53ce7b2345@epcas1p2.samsung.com>
2017-03-09 14:42                               ` Bartlomiej Zolnierkiewicz
2017-03-09 14:51                                 ` Russell King - ARM Linux
     [not found]                                   ` <CGME20170309145745epcas5p331cf5418a586b8d435a508626cbf7af9@epcas5p3.samsung.com>
2017-03-09 14:57                                     ` Bartlomiej Zolnierkiewicz
2017-03-09 15:08                                       ` Russell King - ARM Linux
     [not found]                                         ` <CGME20170309154131epcas5p1f9c668855ee33c1634d4491d8664848b@epcas5p1.samsung.com>
2017-03-09 15:41                                           ` Bartlomiej Zolnierkiewicz
     [not found]                                 ` <CGME20170309145219epcas5p38b1af654dd0a4b04bd02a488051c065f@epcas5p3.samsung.com>
2017-03-09 14:52                                   ` Bartlomiej Zolnierkiewicz
2017-03-09 16:22                           ` Sergei Shtylyov
     [not found]                           ` <CGME20170310171153epcas5p259bf9353fd1194dd131350fc59c3423a@epcas5p2.samsung.com>
2017-03-10 17:11                             ` Bartlomiej Zolnierkiewicz
     [not found]                       ` <CGME20170309122125epcas5p415b1f2266f68d5b999d2eb4ced94e9f3@epcas5p4.samsung.com>
2017-03-09 12:21                         ` Bartlomiej Zolnierkiewicz
     [not found]                     ` <CGME20170309114756epcas5p3761bce85d5a8e3a095cb3a876c484ea6@epcas5p3.samsung.com>
2017-03-09 11:47                       ` Bartlomiej Zolnierkiewicz
2017-03-09 11:57                         ` Sekhar Nori
     [not found]                           ` <CGME20170309121425epcas1p119ed8e5e27e3f7d8bfc71d0173cd301b@epcas1p1.samsung.com>
2017-03-09 12:14                             ` Bartlomiej Zolnierkiewicz
2016-10-26 17:01       ` Bartlomiej Zolnierkiewicz
2016-10-31 15:46         ` Russell King - ARM Linux
2016-10-31 18:14           ` Bartlomiej Zolnierkiewicz
2016-10-31 18:24             ` Bartlomiej Zolnierkiewicz
2016-11-25 22:22               ` Arnd Bergmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9239486.GVgcNxaS76@amdc1976 \
    --to=b.zolnierkie@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).