Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1442343 > unrolled thread

Re: [RESEND PATCH] arm: assabet_defconfig: disable IDE subsystem

Started byBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
First post2016-07-13 13:10 +0200
Last post2016-07-18 16:50 +0200
Articles 6 — 5 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [RESEND PATCH] arm: assabet_defconfig: disable IDE subsystem Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> - 2016-07-13 13:10 +0200
    Re: [RESEND PATCH] arm: assabet_defconfig: disable IDE subsystem Arnd Bergmann <arnd@arndb.de> - 2016-07-13 16:40 +0200
      Re: [RESEND PATCH] arm: assabet_defconfig: disable IDE subsystem Russell King - ARM Linux <linux@armlinux.org.uk> - 2016-07-13 19:50 +0200
        Re: [RESEND PATCH] arm: assabet_defconfig: disable IDE subsystem Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> - 2016-07-14 12:10 +0200
      Re: [RESEND PATCH] arm: assabet_defconfig: disable IDE subsystem Kevin Hilman <khilman@baylibre.com> - 2016-07-15 17:20 +0200
        Re: [RESEND PATCH] arm: assabet_defconfig: disable IDE subsystem Sekhar Nori <nsekhar@ti.com> - 2016-07-18 16:50 +0200

#1442343 — Re: [RESEND PATCH] arm: assabet_defconfig: disable IDE subsystem

FromBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Date2016-07-13 13:10 +0200
SubjectRe: [RESEND PATCH] arm: assabet_defconfig: disable IDE subsystem
Message-ID<rUqdc-2hi-11@gated-at.bofh.it>
Hi,

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)?

> Do you have a list of ARM defconfigs that keep using CONFIG_IDE and
> how you determined that they need it?

The only such defconfig is davinci_all_defconfig which uses
palm_bk3710 host driver (CONFIG_BLK_DEV_PALMCHIP_BK3710).

> I know that ARCH_RPC/ARCH_ACORN has a couple of special drivers that
> have no libata replacement, are there any others like that, or are
> they all platforms that should in theory work with libata but need
> testing?

All platforms except ARCH_ACORN, ARCH_DAVINCI & ARCH_RPC should work
with libata.

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

[toc] | [next] | [standalone]


#1442504

FromArnd Bergmann <arnd@arndb.de>
Date2016-07-13 16:40 +0200
Message-ID<rUtuq-4iQ-27@gated-at.bofh.it>
In reply to#1442343
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).

> > Do you have a list of ARM defconfigs that keep using CONFIG_IDE and
> > how you determined that they need it?
> 
> The only such defconfig is davinci_all_defconfig which uses
> palm_bk3710 host driver (CONFIG_BLK_DEV_PALMCHIP_BK3710).
> 
> > I know that ARCH_RPC/ARCH_ACORN has a couple of special drivers that
> > have no libata replacement, are there any others like that, or are
> > they all platforms that should in theory work with libata but need
> > testing?
> 
> All platforms except ARCH_ACORN, ARCH_DAVINCI & ARCH_RPC should work
> with libata.

Adding Sekhar and Kevin for DaVinci: At first sight, palm_bk3710 looks
fairly straightforward (meaning someone has to do a few day's work)
to convert into a libata driver.

As this is on on-chip controller that is part of a dm644x and dm646x,
it should also not be hard to test (as long as someone can find
a hard drive to plug in).

	Arnd

[toc] | [prev] | [next] | [standalone]


#1442722

FromRussell King - ARM Linux <linux@armlinux.org.uk>
Date2016-07-13 19:50 +0200
Message-ID<rUwsh-6gf-9@gated-at.bofh.it>
In reply to#1442504
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.

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.

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

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

[toc] | [prev] | [next] | [standalone]


#1443330

FromBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Date2016-07-14 12:10 +0200
Message-ID<rULKF-8kS-3@gated-at.bofh.it>
In reply to#1442722
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

[toc] | [prev] | [next] | [standalone]


#1444362

FromKevin Hilman <khilman@baylibre.com>
Date2016-07-15 17:20 +0200
Message-ID<rVd4e-8vN-9@gated-at.bofh.it>
In reply to#1442504
Arnd Bergmann <arnd@arndb.de> writes:

> 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).
>
>> > Do you have a list of ARM defconfigs that keep using CONFIG_IDE and
>> > how you determined that they need it?
>> 
>> The only such defconfig is davinci_all_defconfig which uses
>> palm_bk3710 host driver (CONFIG_BLK_DEV_PALMCHIP_BK3710).
>> 
>> > I know that ARCH_RPC/ARCH_ACORN has a couple of special drivers that
>> > have no libata replacement, are there any others like that, or are
>> > they all platforms that should in theory work with libata but need
>> > testing?
>> 
>> All platforms except ARCH_ACORN, ARCH_DAVINCI & ARCH_RPC should work
>> with libata.
>
> Adding Sekhar and Kevin for DaVinci: At first sight, palm_bk3710 looks
> fairly straightforward (meaning someone has to do a few day's work)
> to convert into a libata driver.
>
> As this is on on-chip controller that is part of a dm644x and dm646x,
> it should also not be hard to test (as long as someone can find
> a hard drive to plug in).

I have a hard drive, but don't have any dm64xx hardware anymore to test
this.  My last working dm644x board died last year.

Kevin

[toc] | [prev] | [next] | [standalone]


#1445564

FromSekhar Nori <nsekhar@ti.com>
Date2016-07-18 16:50 +0200
Message-ID<rWi1P-7tY-3@gated-at.bofh.it>
In reply to#1444362
On Friday 15 July 2016 08:45 PM, Kevin Hilman wrote:
> Arnd Bergmann <arnd@arndb.de> writes:
> 
>> 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).
>>
>>>> Do you have a list of ARM defconfigs that keep using CONFIG_IDE and
>>>> how you determined that they need it?
>>>
>>> The only such defconfig is davinci_all_defconfig which uses
>>> palm_bk3710 host driver (CONFIG_BLK_DEV_PALMCHIP_BK3710).
>>>
>>>> I know that ARCH_RPC/ARCH_ACORN has a couple of special drivers that
>>>> have no libata replacement, are there any others like that, or are
>>>> they all platforms that should in theory work with libata but need
>>>> testing?
>>>
>>> All platforms except ARCH_ACORN, ARCH_DAVINCI & ARCH_RPC should work
>>> with libata.
>>
>> Adding Sekhar and Kevin for DaVinci: At first sight, palm_bk3710 looks
>> fairly straightforward (meaning someone has to do a few day's work)
>> to convert into a libata driver.
>>
>> As this is on on-chip controller that is part of a dm644x and dm646x,
>> it should also not be hard to test (as long as someone can find
>> a hard drive to plug in).
> 
> I have a hard drive, but don't have any dm64xx hardware anymore to test
> this.  My last working dm644x board died last year.

I have a working DM6446 EVM. I was able to connect a hard drive to it
and do some basic tests with v4.6 kernel.

I will look into converting the driver to libata. Might take some time
because this is unfamiliar territory for me.

Thanks,
Sekhar

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web