lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130212164351.GA20771@intel.com>
Date:	Tue, 12 Feb 2013 18:43:51 +0200
From:	Mika Westerberg <mika.westerberg@...el.com>
To:	Vinod Koul <vinod.koul@...el.com>
Cc:	Viresh Kumar <viresh.kumar@...aro.org>,
	Andy Shevchenko <andriy.shevchenko@...ux.jf.intel.com>,
	linux-kernel@...r.kernel.org,
	spear-devel <spear-devel@...t.st.com>,
	Mika Westerberg <mika.westerberg@...ux.jf.intel.com>
Subject: Re: [PATCH] dw_dmac: adjust slave_id accordingly to request line base

On Tue, Feb 12, 2013 at 07:53:34AM -0800, Vinod Koul wrote:
> On Tue, Jan 29, 2013 at 10:29:43AM +0530, Viresh Kumar wrote:
> > Next time, please direct these mails to my Linaro id :)
> > 
> > On Mon, Jan 28, 2013 at 4:34 PM, Andy Shevchenko
> > <andriy.shevchenko@...ux.intel.com> wrote:
> > > On some hardware configurations we have got the request line with the offset.
> > > The patch introduces convert_slave_id() helper for that cases. The request line
> > > base is got from the platform device resources provided by the IORESOURCE_DMA
> > > type.
> > 
> > @Vinod: Is IORESOURCE_DMA suitable for this purpose?
> Looks unlikely...
> 
> But why do we need this in first place?
> 
> I know this is due to common platform probe. Clearly one size not fitting all.
> If you had dedicated PCI probe you wouldnt worrry right?

This is all related to new ACPI 5.0 features for devices enumerated from
ACPI namespace, such as SPI controller.

ACPI 5.0 allows BIOS to specify DMA request lines and channels used by a
slave device with FixedDMA() descriptors, such as:

	FixedDMA (0x0010, 0x0000, Width32bit,) // TX
	FixedDMA (0x0011, 0x0001, Width32bit,) // RX

The first field (0x10, 0x11) is the request line assigned to the device. In
this particular case it is the SPI controller.

Now there is only one DMA controller in this platform but the request lines
still start from 0x10 (16).

Then there is another ACPI table called CSRT (Core System Resources Table)
that assings request line range to the DMA controller itself. This range
starts from 0x10 (16) for this platform.

So what we do is that we parse this CSRT table, create platform device for
the DMA controller of found and pass the request line range as
IORESOURCE_DMA resource with the platform device.

In this patch then Andy uses that resource to map the FixedDMA() request
line to the actual hardware request line, which is for the SPI case:

	0x10 -> 0
	0x11 -> 1

Unfortunately we didn't find any better way to pass this information than
IORESOURCE_DMA. However, if you have better solution we certainly can
change that :)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ