* Help on named object in kernel
@ 2019-06-12 11:48 Udit Kumar
2019-06-12 16:37 ` Schmauss, Erik
0 siblings, 1 reply; 6+ messages in thread
From: Udit Kumar @ 2019-06-12 11:48 UTC (permalink / raw)
To: ACPI Devel Maling List; +Cc: lenb, Rafael J. Wysocki
Dear ACPI experts,
I need your help on defining named objected in ACPI under _CRS.
In my firmware, I have defined two addresses for my device using
Memory32Fixed and QwordMemory under _CRS.
These two addresses are 32-bit and 64-bit long respectively.
For Memory32Fixed, I gave DescriptorName name as REG0
and for QwordMemory I gave DescriptorName as SATA.
In Linux, all of resource of this device is added under its name
(NXP0003:00). Reading r-> name for all resource of this device
is giving name as NXP0003:00.
So I am not able to use existing OS driver using call
platform_get_resource_byname, I have to use platform_get_resource
API with index to get above addresses.
Could you help me, if there is way to use named resource in acpi.
Fyi, I am on kernel 4.14.122
Many Thanks
Udit
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: Help on named object in kernel
2019-06-12 11:48 Help on named object in kernel Udit Kumar
@ 2019-06-12 16:37 ` Schmauss, Erik
2019-06-12 17:00 ` [EXT] " Udit Kumar
2019-06-12 17:00 ` Sudeep Holla
0 siblings, 2 replies; 6+ messages in thread
From: Schmauss, Erik @ 2019-06-12 16:37 UTC (permalink / raw)
To: Udit Kumar, ACPI Devel Maling List; +Cc: lenb, Rafael J. Wysocki
> -----Original Message-----
> From: linux-acpi-owner@vger.kernel.org [mailto:linux-acpi-
> owner@vger.kernel.org] On Behalf Of Udit Kumar
> Sent: Wednesday, June 12, 2019 4:48 AM
> To: ACPI Devel Maling List <linux-acpi@vger.kernel.org>
> Cc: lenb@kernel.org; Rafael J. Wysocki <rafael@kernel.org>
> Subject: Help on named object in kernel
>
> Dear ACPI experts,
> I need your help on defining named objected in ACPI under _CRS.
> In my firmware, I have defined two addresses for my device using
> Memory32Fixed and QwordMemory under _CRS.
> These two addresses are 32-bit and 64-bit long respectively.
> For Memory32Fixed, I gave DescriptorName name as REG0 and for
> QwordMemory I gave DescriptorName as SATA.
Could you give us the ASL for the code snippet that you're talking about?
Erik
>
> In Linux, all of resource of this device is added under its name (NXP0003:00).
> Reading r-> name for all resource of this device is giving name as NXP0003:00.
> So I am not able to use existing OS driver using call
> platform_get_resource_byname, I have to use platform_get_resource API
> with index to get above addresses.
>
> Could you help me, if there is way to use named resource in acpi.
> Fyi, I am on kernel 4.14.122
>
> Many Thanks
> Udit
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [EXT] RE: Help on named object in kernel
2019-06-12 16:37 ` Schmauss, Erik
@ 2019-06-12 17:00 ` Udit Kumar
2019-06-12 17:00 ` Sudeep Holla
1 sibling, 0 replies; 6+ messages in thread
From: Udit Kumar @ 2019-06-12 17:00 UTC (permalink / raw)
To: Schmauss, Erik, ACPI Devel Maling List; +Cc: lenb, Rafael J. Wysocki
Thanks Eric
> -----Original Message-----
> From: Schmauss, Erik <erik.schmauss@intel.com>
> Sent: Wednesday, June 12, 2019 10:07 PM
> To: Udit Kumar <udit.kumar@nxp.com>; ACPI Devel Maling List <linux-
> acpi@vger.kernel.org>
> Cc: lenb@kernel.org; Rafael J. Wysocki <rafael@kernel.org>
> Subject: [EXT] RE: Help on named object in kernel
>
> Caution: EXT Email
>
> > -----Original Message-----
> > From: linux-acpi-owner@vger.kernel.org [mailto:linux-acpi-
> > owner@vger.kernel.org] On Behalf Of Udit Kumar
> > Sent: Wednesday, June 12, 2019 4:48 AM
> > To: ACPI Devel Maling List <linux-acpi@vger.kernel.org>
> > Cc: lenb@kernel.org; Rafael J. Wysocki <rafael@kernel.org>
> > Subject: Help on named object in kernel
> >
> > Dear ACPI experts,
> > I need your help on defining named objected in ACPI under _CRS.
> > In my firmware, I have defined two addresses for my device using
> > Memory32Fixed and QwordMemory under _CRS.
> > These two addresses are 32-bit and 64-bit long respectively.
> > For Memory32Fixed, I gave DescriptorName name as REG0 and for
> > QwordMemory I gave DescriptorName as SATA.
>
> Could you give us the ASL for the code snippet that you're talking about?
Below is actual ASL
Scope(_SB)
{
Device(SAT0) {
Name(_HID, "NXP0004")
Name(_CCA, 1)
Name(_UID, 0)
Name(_CRS, ResourceTemplate() {
Memory32Fixed(ReadWrite, SATA0_BASE, SATA_LEN, REG0)
Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive)
{
SATA0_IT_1, SATA0_IT_2, SATA0_IT_3
}
QwordMemory (
ResourceConsumer,
PosDecode, // _DEC
MinFixed, // _MIF
MaxFixed, // _MAF
NonCacheable, // _MEM
ReadWrite, // _RW
0, // _GRA
0x700100520, // _MIN MinAddress
0x700100523, // _MAX MaxAddress
0, // _TRA
0x4, // _LEN
, //ResourceSourceIndex,
, //ResourceSource,
SATA, //DescriptorName
,)
})
}
Driver code is
https://elixir.bootlin.com/linux/latest/source/drivers/ata/ahci_qoriq.c#L267
For time being I changed
platform_get_resource_byname to
res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
for sure sata-err will fail, when I added few prints in platform_get_resource_byname to print each resource's name and start .
I got below
[ 3.013921] Udit res 3200000 name NXP0004:00
[ 3.018190] Udit res 10 name NXP0004:00
[ 3.022016] Udit res 11 name NXP0004:00
[ 3.025842] Udit res 12 name NXP0004:00
[ 3.029668] Udit res 700100520 name NXP0004:00
I am looking help on two here
1) how DescriptorName can be associated with resource name
2) is there any way to use resource name just as string
Many Thanks
Udit
> Erik
> >
> > In Linux, all of resource of this device is added under its name (NXP0003:00).
> > Reading r-> name for all resource of this device is giving name as NXP0003:00.
> > So I am not able to use existing OS driver using call
> > platform_get_resource_byname, I have to use platform_get_resource API
> > with index to get above addresses.
> >
> > Could you help me, if there is way to use named resource in acpi.
> > Fyi, I am on kernel 4.14.122
> >
> > Many Thanks
> > Udit
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Help on named object in kernel
2019-06-12 16:37 ` Schmauss, Erik
2019-06-12 17:00 ` [EXT] " Udit Kumar
@ 2019-06-12 17:00 ` Sudeep Holla
2019-06-13 1:20 ` [EXT] " Udit Kumar
1 sibling, 1 reply; 6+ messages in thread
From: Sudeep Holla @ 2019-06-12 17:00 UTC (permalink / raw)
To: Schmauss, Erik
Cc: Udit Kumar, ACPI Devel Maling List, lenb, Sudeep Holla,
Rafael J. Wysocki
On Wed, Jun 12, 2019 at 04:37:09PM +0000, Schmauss, Erik wrote:
>
>
> > -----Original Message-----
> > From: linux-acpi-owner@vger.kernel.org [mailto:linux-acpi-
> > owner@vger.kernel.org] On Behalf Of Udit Kumar
> > Sent: Wednesday, June 12, 2019 4:48 AM
> > To: ACPI Devel Maling List <linux-acpi@vger.kernel.org>
> > Cc: lenb@kernel.org; Rafael J. Wysocki <rafael@kernel.org>
> > Subject: Help on named object in kernel
> >
> > Dear ACPI experts,
> > I need your help on defining named objected in ACPI under _CRS.
> > In my firmware, I have defined two addresses for my device using
> > Memory32Fixed and QwordMemory under _CRS.
> > These two addresses are 32-bit and 64-bit long respectively.
> > For Memory32Fixed, I gave DescriptorName name as REG0 and for
> > QwordMemory I gave DescriptorName as SATA.
>
> Could you give us the ASL for the code snippet that you're talking about?
>
IIUC, something like below(a very rough example based on the description
above):
Name (_CRS, ResourceTemplate (){
QwordMemory (
ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable,
ReadWrite, 0x0, 0x700100520, 0x700100523, 0x0, 4, , , "SATA",)
Memory32Fixed(ReadWrite, 0x3200000, 0x10000, "REG0")
}
Basically 2 or more entries of Memory/Address Space Resource Descriptor
which can be identified in OSPM by DescriptorName. IOW if a device has
2 sets of registers/memory/address space associated with it, instead of
relying on the order of declaration, identify them by the descriptor
name provided in ASL namespace.
--
Regards,
Sudeep
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [EXT] Re: Help on named object in kernel
2019-06-12 17:00 ` Sudeep Holla
@ 2019-06-13 1:20 ` Udit Kumar
2019-06-13 17:08 ` Sudeep Holla
0 siblings, 1 reply; 6+ messages in thread
From: Udit Kumar @ 2019-06-13 1:20 UTC (permalink / raw)
To: Sudeep Holla, Schmauss, Erik
Cc: ACPI Devel Maling List, lenb, Rafael J. Wysocki
> -----Original Message-----
> From: linux-acpi-owner@vger.kernel.org <linux-acpi-owner@vger.kernel.org>
> On Behalf Of Sudeep Holla
> Sent: Wednesday, June 12, 2019 10:31 PM
> To: Schmauss, Erik <erik.schmauss@intel.com>
> Cc: Udit Kumar <udit.kumar@nxp.com>; ACPI Devel Maling List <linux-
> acpi@vger.kernel.org>; lenb@kernel.org; Sudeep Holla
> <sudeep.holla@arm.com>; Rafael J. Wysocki <rafael@kernel.org>
> Subject: [EXT] Re: Help on named object in kernel
>
> Caution: EXT Email
>
> On Wed, Jun 12, 2019 at 04:37:09PM +0000, Schmauss, Erik wrote:
> >
> >
> > > -----Original Message-----
> > > From: linux-acpi-owner@vger.kernel.org [mailto:linux-acpi-
> > > owner@vger.kernel.org] On Behalf Of Udit Kumar
> > > Sent: Wednesday, June 12, 2019 4:48 AM
> > > To: ACPI Devel Maling List <linux-acpi@vger.kernel.org>
> > > Cc: lenb@kernel.org; Rafael J. Wysocki <rafael@kernel.org>
> > > Subject: Help on named object in kernel
> > >
> > > Dear ACPI experts,
> > > I need your help on defining named objected in ACPI under _CRS.
> > > In my firmware, I have defined two addresses for my device using
> > > Memory32Fixed and QwordMemory under _CRS.
> > > These two addresses are 32-bit and 64-bit long respectively.
> > > For Memory32Fixed, I gave DescriptorName name as REG0 and for
> > > QwordMemory I gave DescriptorName as SATA.
> >
> > Could you give us the ASL for the code snippet that you're talking about?
> >
>
> IIUC, something like below(a very rough example based on the description
> above):
>
> Name (_CRS, ResourceTemplate (){
> QwordMemory (
> ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable,
> ReadWrite, 0x0, 0x700100520, 0x700100523, 0x0, 4, , , "SATA",)
> Memory32Fixed(ReadWrite, 0x3200000, 0x10000, "REG0")
> }
>
> Basically 2 or more entries of Memory/Address Space Resource Descriptor
> which can be identified in OSPM by DescriptorName. IOW if a device has
> 2 sets of registers/memory/address space associated with it, instead of relying
> on the order of declaration, identify them by the descriptor name provided in
> ASL namespace.
Thanks Sudeep,
Shouldn't acpi frame work encapsulate descriptor name while adding resource.
So that driver can rely on platform_get_resource_byname .
In such way, same driver could be used with device tree and acpi based systems.
I am not sure, if acpi_evaluate_xx sort of api would work for descriptor-name , even if this does it will be limited to acpi only.
> --
> Regards,
> Sudeep
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [EXT] Re: Help on named object in kernel
2019-06-13 1:20 ` [EXT] " Udit Kumar
@ 2019-06-13 17:08 ` Sudeep Holla
0 siblings, 0 replies; 6+ messages in thread
From: Sudeep Holla @ 2019-06-13 17:08 UTC (permalink / raw)
To: Udit Kumar
Cc: Schmauss, Erik, ACPI Devel Maling List, lenb, Sudeep Holla,
Rafael J. Wysocki
On Thu, Jun 13, 2019 at 01:20:32AM +0000, Udit Kumar wrote:
>
>
> > -----Original Message-----
> > From: linux-acpi-owner@vger.kernel.org <linux-acpi-owner@vger.kernel.org>
> > On Behalf Of Sudeep Holla
> > Sent: Wednesday, June 12, 2019 10:31 PM
> > To: Schmauss, Erik <erik.schmauss@intel.com>
> > Cc: Udit Kumar <udit.kumar@nxp.com>; ACPI Devel Maling List <linux-
> > acpi@vger.kernel.org>; lenb@kernel.org; Sudeep Holla
> > <sudeep.holla@arm.com>; Rafael J. Wysocki <rafael@kernel.org>
> > Subject: [EXT] Re: Help on named object in kernel
> >
> > Caution: EXT Email
> >
> > On Wed, Jun 12, 2019 at 04:37:09PM +0000, Schmauss, Erik wrote:
> > >
> > >
> > > > -----Original Message-----
> > > > From: linux-acpi-owner@vger.kernel.org [mailto:linux-acpi-
> > > > owner@vger.kernel.org] On Behalf Of Udit Kumar
> > > > Sent: Wednesday, June 12, 2019 4:48 AM
> > > > To: ACPI Devel Maling List <linux-acpi@vger.kernel.org>
> > > > Cc: lenb@kernel.org; Rafael J. Wysocki <rafael@kernel.org>
> > > > Subject: Help on named object in kernel
> > > >
> > > > Dear ACPI experts,
> > > > I need your help on defining named objected in ACPI under _CRS.
> > > > In my firmware, I have defined two addresses for my device using
> > > > Memory32Fixed and QwordMemory under _CRS.
> > > > These two addresses are 32-bit and 64-bit long respectively.
> > > > For Memory32Fixed, I gave DescriptorName name as REG0 and for
> > > > QwordMemory I gave DescriptorName as SATA.
> > >
> > > Could you give us the ASL for the code snippet that you're talking about?
> > >
> >
> > IIUC, something like below(a very rough example based on the description
> > above):
> >
> > Name (_CRS, ResourceTemplate (){
> > QwordMemory (
> > ResourceConsumer, PosDecode, MinFixed, MaxFixed, NonCacheable,
> > ReadWrite, 0x0, 0x700100520, 0x700100523, 0x0, 4, , , "SATA",)
> > Memory32Fixed(ReadWrite, 0x3200000, 0x10000, "REG0")
> > }
> >
> > Basically 2 or more entries of Memory/Address Space Resource Descriptor
> > which can be identified in OSPM by DescriptorName. IOW if a device has
> > 2 sets of registers/memory/address space associated with it, instead of relying
> > on the order of declaration, identify them by the descriptor name provided in
> > ASL namespace.
>
> Thanks Sudeep,
> Shouldn't acpi frame work encapsulate descriptor name while adding resource.
> So that driver can rely on platform_get_resource_byname .
> In such way, same driver could be used with device tree and acpi based systems.
>
> I am not sure, if acpi_evaluate_xx sort of api would work for
> descriptor-name , even if this does it will be limited to acpi only.
>
IIUC acpi_resource_source should have all the information, just not
used for this purpose yet. I do see some uses of string_ptr in that
elsewhere. I haven't tried it, but looking at the code I think the
support is there already.
But the question is who/where will the list of names for such resource
is listed for a given HID/CID/... ?
--
Regards,
Sudeep
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-06-13 17:08 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-12 11:48 Help on named object in kernel Udit Kumar
2019-06-12 16:37 ` Schmauss, Erik
2019-06-12 17:00 ` [EXT] " Udit Kumar
2019-06-12 17:00 ` Sudeep Holla
2019-06-13 1:20 ` [EXT] " Udit Kumar
2019-06-13 17:08 ` Sudeep Holla
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).