2015-11-12 20:14:43

by Dan Williams

[permalink] [raw]
Subject: [PATCH] sound: depend on ZONE_DMA

There are several sound drivers that 'select ZONE_DMA'. This is
backwards as ZONE_DMA is an architecture capability exported to drivers.
Switch the polarity of the dependency to disable these drivers when the
architecture does not support ZONE_DMA. This was discovered in the
context of testing/enabling devm_memremap_pages() which depends on
ZONE_DEVICE. ZONE_DEVICE in turn depends on !ZONE_DMA.

Cc: Jaroslav Kysela <[email protected]>
Cc: Takashi Iwai <[email protected]>
Cc: <[email protected]>
Reported-by: Jeff Moyer <[email protected]>
Signed-off-by: Dan Williams <[email protected]>
---
sound/pci/Kconfig | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
index edfc1b8d553e..656ce39bddbc 100644
--- a/sound/pci/Kconfig
+++ b/sound/pci/Kconfig
@@ -25,7 +25,7 @@ config SND_ALS300
select SND_PCM
select SND_AC97_CODEC
select SND_OPL3_LIB
- select ZONE_DMA
+ depends on ZONE_DMA
help
Say 'Y' or 'M' to include support for Avance Logic ALS300/ALS300+

@@ -50,7 +50,7 @@ config SND_ALI5451
tristate "ALi M5451 PCI Audio Controller"
select SND_MPU401_UART
select SND_AC97_CODEC
- select ZONE_DMA
+ depends on ZONE_DMA
help
Say Y here to include support for the integrated AC97 sound
device on motherboards using the ALi M5451 Audio Controller
@@ -155,7 +155,7 @@ config SND_AZT3328
select SND_PCM
select SND_RAWMIDI
select SND_AC97_CODEC
- select ZONE_DMA
+ depends on ZONE_DMA
help
Say Y here to include support for Aztech AZF3328 (PCI168)
soundcards.
@@ -463,7 +463,7 @@ config SND_EMU10K1
select SND_HWDEP
select SND_RAWMIDI
select SND_AC97_CODEC
- select ZONE_DMA
+ depends on ZONE_DMA
help
Say Y to include support for Sound Blaster PCI 512, Live!,
Audigy and E-mu APS (partially supported) soundcards.
@@ -479,7 +479,7 @@ config SND_EMU10K1X
tristate "Emu10k1X (Dell OEM Version)"
select SND_AC97_CODEC
select SND_RAWMIDI
- select ZONE_DMA
+ depends on ZONE_DMA
help
Say Y here to include support for the Dell OEM version of the
Sound Blaster Live!.
@@ -513,7 +513,7 @@ config SND_ES1938
select SND_OPL3_LIB
select SND_MPU401_UART
select SND_AC97_CODEC
- select ZONE_DMA
+ depends on ZONE_DMA
help
Say Y here to include support for soundcards based on ESS Solo-1
(ES1938, ES1946, ES1969) chips.
@@ -525,7 +525,7 @@ config SND_ES1968
tristate "ESS ES1968/1978 (Maestro-1/2/2E)"
select SND_MPU401_UART
select SND_AC97_CODEC
- select ZONE_DMA
+ depends on ZONE_DMA
help
Say Y here to include support for soundcards based on ESS Maestro
1/2/2E chips.
@@ -612,7 +612,7 @@ config SND_ICE1712
select SND_MPU401_UART
select SND_AC97_CODEC
select BITREVERSE
- select ZONE_DMA
+ depends on ZONE_DMA
help
Say Y here to include support for soundcards based on the
ICE1712 (Envy24) chip.
@@ -700,7 +700,7 @@ config SND_LX6464ES
config SND_MAESTRO3
tristate "ESS Allegro/Maestro3"
select SND_AC97_CODEC
- select ZONE_DMA
+ depends on ZONE_DMA
help
Say Y here to include support for soundcards based on ESS Maestro 3
(Allegro) chips.
@@ -806,7 +806,7 @@ config SND_SIS7019
tristate "SiS 7019 Audio Accelerator"
depends on X86_32
select SND_AC97_CODEC
- select ZONE_DMA
+ depends on ZONE_DMA
help
Say Y here to include support for the SiS 7019 Audio Accelerator.

@@ -818,7 +818,7 @@ config SND_SONICVIBES
select SND_OPL3_LIB
select SND_MPU401_UART
select SND_AC97_CODEC
- select ZONE_DMA
+ depends on ZONE_DMA
help
Say Y here to include support for soundcards based on the S3
SonicVibes chip.
@@ -830,7 +830,7 @@ config SND_TRIDENT
tristate "Trident 4D-Wave DX/NX; SiS 7018"
select SND_MPU401_UART
select SND_AC97_CODEC
- select ZONE_DMA
+ depends on ZONE_DMA
help
Say Y here to include support for soundcards based on Trident
4D-Wave DX/NX or SiS 7018 chips.


2015-11-13 10:15:26

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH] sound: depend on ZONE_DMA

On Thu, 12 Nov 2015 21:13:57 +0100,
Dan Williams wrote:
>
> There are several sound drivers that 'select ZONE_DMA'. This is
> backwards as ZONE_DMA is an architecture capability exported to drivers.
> Switch the polarity of the dependency to disable these drivers when the
> architecture does not support ZONE_DMA. This was discovered in the
> context of testing/enabling devm_memremap_pages() which depends on
> ZONE_DEVICE. ZONE_DEVICE in turn depends on !ZONE_DMA.

Makes sense. I applied it now, thanks.


Takashi

>
> Cc: Jaroslav Kysela <[email protected]>
> Cc: Takashi Iwai <[email protected]>
> Cc: <[email protected]>
> Reported-by: Jeff Moyer <[email protected]>
> Signed-off-by: Dan Williams <[email protected]>
> ---
> sound/pci/Kconfig | 24 ++++++++++++------------
> 1 file changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
> index edfc1b8d553e..656ce39bddbc 100644
> --- a/sound/pci/Kconfig
> +++ b/sound/pci/Kconfig
> @@ -25,7 +25,7 @@ config SND_ALS300
> select SND_PCM
> select SND_AC97_CODEC
> select SND_OPL3_LIB
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say 'Y' or 'M' to include support for Avance Logic ALS300/ALS300+
>
> @@ -50,7 +50,7 @@ config SND_ALI5451
> tristate "ALi M5451 PCI Audio Controller"
> select SND_MPU401_UART
> select SND_AC97_CODEC
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y here to include support for the integrated AC97 sound
> device on motherboards using the ALi M5451 Audio Controller
> @@ -155,7 +155,7 @@ config SND_AZT3328
> select SND_PCM
> select SND_RAWMIDI
> select SND_AC97_CODEC
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y here to include support for Aztech AZF3328 (PCI168)
> soundcards.
> @@ -463,7 +463,7 @@ config SND_EMU10K1
> select SND_HWDEP
> select SND_RAWMIDI
> select SND_AC97_CODEC
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y to include support for Sound Blaster PCI 512, Live!,
> Audigy and E-mu APS (partially supported) soundcards.
> @@ -479,7 +479,7 @@ config SND_EMU10K1X
> tristate "Emu10k1X (Dell OEM Version)"
> select SND_AC97_CODEC
> select SND_RAWMIDI
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y here to include support for the Dell OEM version of the
> Sound Blaster Live!.
> @@ -513,7 +513,7 @@ config SND_ES1938
> select SND_OPL3_LIB
> select SND_MPU401_UART
> select SND_AC97_CODEC
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y here to include support for soundcards based on ESS Solo-1
> (ES1938, ES1946, ES1969) chips.
> @@ -525,7 +525,7 @@ config SND_ES1968
> tristate "ESS ES1968/1978 (Maestro-1/2/2E)"
> select SND_MPU401_UART
> select SND_AC97_CODEC
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y here to include support for soundcards based on ESS Maestro
> 1/2/2E chips.
> @@ -612,7 +612,7 @@ config SND_ICE1712
> select SND_MPU401_UART
> select SND_AC97_CODEC
> select BITREVERSE
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y here to include support for soundcards based on the
> ICE1712 (Envy24) chip.
> @@ -700,7 +700,7 @@ config SND_LX6464ES
> config SND_MAESTRO3
> tristate "ESS Allegro/Maestro3"
> select SND_AC97_CODEC
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y here to include support for soundcards based on ESS Maestro 3
> (Allegro) chips.
> @@ -806,7 +806,7 @@ config SND_SIS7019
> tristate "SiS 7019 Audio Accelerator"
> depends on X86_32
> select SND_AC97_CODEC
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y here to include support for the SiS 7019 Audio Accelerator.
>
> @@ -818,7 +818,7 @@ config SND_SONICVIBES
> select SND_OPL3_LIB
> select SND_MPU401_UART
> select SND_AC97_CODEC
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y here to include support for soundcards based on the S3
> SonicVibes chip.
> @@ -830,7 +830,7 @@ config SND_TRIDENT
> tristate "Trident 4D-Wave DX/NX; SiS 7018"
> select SND_MPU401_UART
> select SND_AC97_CODEC
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y here to include support for soundcards based on Trident
> 4D-Wave DX/NX or SiS 7018 chips.
>
>

2015-11-15 10:16:52

by Boaz Harrosh

[permalink] [raw]
Subject: Re: [PATCH] sound: depend on ZONE_DMA

On 11/12/2015 10:13 PM, Dan Williams wrote:
> There are several sound drivers that 'select ZONE_DMA'. This is
> backwards as ZONE_DMA is an architecture capability exported to drivers.
> Switch the polarity of the dependency to disable these drivers when the
> architecture does not support ZONE_DMA. This was discovered in the
> context of testing/enabling devm_memremap_pages() which depends on
> ZONE_DEVICE. ZONE_DEVICE in turn depends on !ZONE_DMA.
>
> Cc: Jaroslav Kysela <[email protected]>
> Cc: Takashi Iwai <[email protected]>
> Cc: <[email protected]>
> Reported-by: Jeff Moyer <[email protected]>
> Signed-off-by: Dan Williams <[email protected]>

Yes sorry about that. I had the exact patch in my original 4.3-rc1
tree but forgot to send it.

Reviewed-by: Boaz Harrosh <[email protected]>

You will need stabe@ for 4.3 as well.

Thanks
Boaz

> ---
> sound/pci/Kconfig | 24 ++++++++++++------------
> 1 file changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
> index edfc1b8d553e..656ce39bddbc 100644
> --- a/sound/pci/Kconfig
> +++ b/sound/pci/Kconfig
> @@ -25,7 +25,7 @@ config SND_ALS300
> select SND_PCM
> select SND_AC97_CODEC
> select SND_OPL3_LIB
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say 'Y' or 'M' to include support for Avance Logic ALS300/ALS300+
>
> @@ -50,7 +50,7 @@ config SND_ALI5451
> tristate "ALi M5451 PCI Audio Controller"
> select SND_MPU401_UART
> select SND_AC97_CODEC
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y here to include support for the integrated AC97 sound
> device on motherboards using the ALi M5451 Audio Controller
> @@ -155,7 +155,7 @@ config SND_AZT3328
> select SND_PCM
> select SND_RAWMIDI
> select SND_AC97_CODEC
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y here to include support for Aztech AZF3328 (PCI168)
> soundcards.
> @@ -463,7 +463,7 @@ config SND_EMU10K1
> select SND_HWDEP
> select SND_RAWMIDI
> select SND_AC97_CODEC
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y to include support for Sound Blaster PCI 512, Live!,
> Audigy and E-mu APS (partially supported) soundcards.
> @@ -479,7 +479,7 @@ config SND_EMU10K1X
> tristate "Emu10k1X (Dell OEM Version)"
> select SND_AC97_CODEC
> select SND_RAWMIDI
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y here to include support for the Dell OEM version of the
> Sound Blaster Live!.
> @@ -513,7 +513,7 @@ config SND_ES1938
> select SND_OPL3_LIB
> select SND_MPU401_UART
> select SND_AC97_CODEC
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y here to include support for soundcards based on ESS Solo-1
> (ES1938, ES1946, ES1969) chips.
> @@ -525,7 +525,7 @@ config SND_ES1968
> tristate "ESS ES1968/1978 (Maestro-1/2/2E)"
> select SND_MPU401_UART
> select SND_AC97_CODEC
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y here to include support for soundcards based on ESS Maestro
> 1/2/2E chips.
> @@ -612,7 +612,7 @@ config SND_ICE1712
> select SND_MPU401_UART
> select SND_AC97_CODEC
> select BITREVERSE
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y here to include support for soundcards based on the
> ICE1712 (Envy24) chip.
> @@ -700,7 +700,7 @@ config SND_LX6464ES
> config SND_MAESTRO3
> tristate "ESS Allegro/Maestro3"
> select SND_AC97_CODEC
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y here to include support for soundcards based on ESS Maestro 3
> (Allegro) chips.
> @@ -806,7 +806,7 @@ config SND_SIS7019
> tristate "SiS 7019 Audio Accelerator"
> depends on X86_32
> select SND_AC97_CODEC
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y here to include support for the SiS 7019 Audio Accelerator.
>
> @@ -818,7 +818,7 @@ config SND_SONICVIBES
> select SND_OPL3_LIB
> select SND_MPU401_UART
> select SND_AC97_CODEC
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y here to include support for soundcards based on the S3
> SonicVibes chip.
> @@ -830,7 +830,7 @@ config SND_TRIDENT
> tristate "Trident 4D-Wave DX/NX; SiS 7018"
> select SND_MPU401_UART
> select SND_AC97_CODEC
> - select ZONE_DMA
> + depends on ZONE_DMA
> help
> Say Y here to include support for soundcards based on Trident
> 4D-Wave DX/NX or SiS 7018 chips.
>
> _______________________________________________
> Linux-nvdimm mailing list
> [email protected]
> https://lists.01.org/mailman/listinfo/linux-nvdimm
>

2015-11-15 10:53:19

by Boaz Harrosh

[permalink] [raw]
Subject: Re: [PATCH] sound: depend on ZONE_DMA

On 11/12/2015 10:38 PM, Takashi Iwai wrote:
> On Thu, 12 Nov 2015 21:13:57 +0100,
> Dan Williams wrote:
>>
>> There are several sound drivers that 'select ZONE_DMA'. This is
>> backwards as ZONE_DMA is an architecture capability exported to drivers.
>> Switch the polarity of the dependency to disable these drivers when the
>> architecture does not support ZONE_DMA. This was discovered in the
>> context of testing/enabling devm_memremap_pages() which depends on
>> ZONE_DEVICE. ZONE_DEVICE in turn depends on !ZONE_DMA.
>
> Makes sense. I applied it now, thanks.
>

Please add:
CC: Stable Tree <[email protected]>

Thanks
Boaz

>
> Takashi
>
>>
>> Cc: Jaroslav Kysela <[email protected]>
>> Cc: Takashi Iwai <[email protected]>
>> Cc: <[email protected]>
>> Reported-by: Jeff Moyer <[email protected]>
>> Signed-off-by: Dan Williams <[email protected]>
>> ---
>> sound/pci/Kconfig | 24 ++++++++++++------------
>> 1 file changed, 12 insertions(+), 12 deletions(-)
>>
>> diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
>> index edfc1b8d553e..656ce39bddbc 100644
>> --- a/sound/pci/Kconfig
>> +++ b/sound/pci/Kconfig
>> @@ -25,7 +25,7 @@ config SND_ALS300
>> select SND_PCM
>> select SND_AC97_CODEC
>> select SND_OPL3_LIB
>> - select ZONE_DMA
>> + depends on ZONE_DMA
>> help
>> Say 'Y' or 'M' to include support for Avance Logic ALS300/ALS300+
>>
>> @@ -50,7 +50,7 @@ config SND_ALI5451
>> tristate "ALi M5451 PCI Audio Controller"
>> select SND_MPU401_UART
>> select SND_AC97_CODEC
>> - select ZONE_DMA
>> + depends on ZONE_DMA
>> help
>> Say Y here to include support for the integrated AC97 sound
>> device on motherboards using the ALi M5451 Audio Controller
>> @@ -155,7 +155,7 @@ config SND_AZT3328
>> select SND_PCM
>> select SND_RAWMIDI
>> select SND_AC97_CODEC
>> - select ZONE_DMA
>> + depends on ZONE_DMA
>> help
>> Say Y here to include support for Aztech AZF3328 (PCI168)
>> soundcards.
>> @@ -463,7 +463,7 @@ config SND_EMU10K1
>> select SND_HWDEP
>> select SND_RAWMIDI
>> select SND_AC97_CODEC
>> - select ZONE_DMA
>> + depends on ZONE_DMA
>> help
>> Say Y to include support for Sound Blaster PCI 512, Live!,
>> Audigy and E-mu APS (partially supported) soundcards.
>> @@ -479,7 +479,7 @@ config SND_EMU10K1X
>> tristate "Emu10k1X (Dell OEM Version)"
>> select SND_AC97_CODEC
>> select SND_RAWMIDI
>> - select ZONE_DMA
>> + depends on ZONE_DMA
>> help
>> Say Y here to include support for the Dell OEM version of the
>> Sound Blaster Live!.
>> @@ -513,7 +513,7 @@ config SND_ES1938
>> select SND_OPL3_LIB
>> select SND_MPU401_UART
>> select SND_AC97_CODEC
>> - select ZONE_DMA
>> + depends on ZONE_DMA
>> help
>> Say Y here to include support for soundcards based on ESS Solo-1
>> (ES1938, ES1946, ES1969) chips.
>> @@ -525,7 +525,7 @@ config SND_ES1968
>> tristate "ESS ES1968/1978 (Maestro-1/2/2E)"
>> select SND_MPU401_UART
>> select SND_AC97_CODEC
>> - select ZONE_DMA
>> + depends on ZONE_DMA
>> help
>> Say Y here to include support for soundcards based on ESS Maestro
>> 1/2/2E chips.
>> @@ -612,7 +612,7 @@ config SND_ICE1712
>> select SND_MPU401_UART
>> select SND_AC97_CODEC
>> select BITREVERSE
>> - select ZONE_DMA
>> + depends on ZONE_DMA
>> help
>> Say Y here to include support for soundcards based on the
>> ICE1712 (Envy24) chip.
>> @@ -700,7 +700,7 @@ config SND_LX6464ES
>> config SND_MAESTRO3
>> tristate "ESS Allegro/Maestro3"
>> select SND_AC97_CODEC
>> - select ZONE_DMA
>> + depends on ZONE_DMA
>> help
>> Say Y here to include support for soundcards based on ESS Maestro 3
>> (Allegro) chips.
>> @@ -806,7 +806,7 @@ config SND_SIS7019
>> tristate "SiS 7019 Audio Accelerator"
>> depends on X86_32
>> select SND_AC97_CODEC
>> - select ZONE_DMA
>> + depends on ZONE_DMA
>> help
>> Say Y here to include support for the SiS 7019 Audio Accelerator.
>>
>> @@ -818,7 +818,7 @@ config SND_SONICVIBES
>> select SND_OPL3_LIB
>> select SND_MPU401_UART
>> select SND_AC97_CODEC
>> - select ZONE_DMA
>> + depends on ZONE_DMA
>> help
>> Say Y here to include support for soundcards based on the S3
>> SonicVibes chip.
>> @@ -830,7 +830,7 @@ config SND_TRIDENT
>> tristate "Trident 4D-Wave DX/NX; SiS 7018"
>> select SND_MPU401_UART
>> select SND_AC97_CODEC
>> - select ZONE_DMA
>> + depends on ZONE_DMA
>> help
>> Say Y here to include support for soundcards based on Trident
>> 4D-Wave DX/NX or SiS 7018 chips.
>>
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

2015-11-16 07:40:59

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH] sound: depend on ZONE_DMA

On Sun, 15 Nov 2015 11:53:11 +0100,
Boaz Harrosh wrote:
>
> On 11/12/2015 10:38 PM, Takashi Iwai wrote:
> > On Thu, 12 Nov 2015 21:13:57 +0100,
> > Dan Williams wrote:
> >>
> >> There are several sound drivers that 'select ZONE_DMA'. This is
> >> backwards as ZONE_DMA is an architecture capability exported to drivers.
> >> Switch the polarity of the dependency to disable these drivers when the
> >> architecture does not support ZONE_DMA. This was discovered in the
> >> context of testing/enabling devm_memremap_pages() which depends on
> >> ZONE_DEVICE. ZONE_DEVICE in turn depends on !ZONE_DMA.
> >
> > Makes sense. I applied it now, thanks.
> >
>
> Please add:
> CC: Stable Tree <[email protected]>

Sorry, too late, already merged.


Takashi

2015-11-16 09:01:29

by Boaz Harrosh

[permalink] [raw]
Subject: Re: [PATCH] sound: depend on ZONE_DMA

On 11/16/2015 09:40 AM, Takashi Iwai wrote:
> On Sun, 15 Nov 2015 11:53:11 +0100,
> Boaz Harrosh wrote:
>>
>> On 11/12/2015 10:38 PM, Takashi Iwai wrote:
>>> On Thu, 12 Nov 2015 21:13:57 +0100,
>>> Dan Williams wrote:
>>>>
>>>> There are several sound drivers that 'select ZONE_DMA'. This is
>>>> backwards as ZONE_DMA is an architecture capability exported to drivers.
>>>> Switch the polarity of the dependency to disable these drivers when the
>>>> architecture does not support ZONE_DMA. This was discovered in the
>>>> context of testing/enabling devm_memremap_pages() which depends on
>>>> ZONE_DEVICE. ZONE_DEVICE in turn depends on !ZONE_DMA.
>>>
>>> Makes sense. I applied it now, thanks.
>>>
>>
>> Please add:
>> CC: Stable Tree <[email protected]>
>
> Sorry, too late, already merged.
>
>
> Takashi
>

Hi Greg

Please include the mainline patch:
[2db1a57] ALSA: pci: depend on ZONE_DMA (by Dan Williams)

To the stable tree for v4.3.X Kernel.

This patch is needed for proper operation of the 4.3 pmem.ko driver. Long
story, but without this patch the persistent-memory will not be able to
work with the new 4.3 support of page-struct which is needed if we want to
RDMA and/or IO directly to persistent memory.
[Is to do with the new ZONE_DEVICE and too many ZONE(s) if ZONE_DMA is enabled]

Thanks
Boaz

2015-11-16 09:28:37

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH] sound: depend on ZONE_DMA

On Mon, 16 Nov 2015 09:58:28 +0100,
Boaz Harrosh wrote:
>
> On 11/16/2015 09:40 AM, Takashi Iwai wrote:
> > On Sun, 15 Nov 2015 11:53:11 +0100,
> > Boaz Harrosh wrote:
> >>
> >> On 11/12/2015 10:38 PM, Takashi Iwai wrote:
> >>> On Thu, 12 Nov 2015 21:13:57 +0100,
> >>> Dan Williams wrote:
> >>>>
> >>>> There are several sound drivers that 'select ZONE_DMA'. This is
> >>>> backwards as ZONE_DMA is an architecture capability exported to drivers.
> >>>> Switch the polarity of the dependency to disable these drivers when the
> >>>> architecture does not support ZONE_DMA. This was discovered in the
> >>>> context of testing/enabling devm_memremap_pages() which depends on
> >>>> ZONE_DEVICE. ZONE_DEVICE in turn depends on !ZONE_DMA.
> >>>
> >>> Makes sense. I applied it now, thanks.
> >>>
> >>
> >> Please add:
> >> CC: Stable Tree <[email protected]>
> >
> > Sorry, too late, already merged.
> >
> >
> > Takashi
> >
>
> Hi Greg
>
> Please include the mainline patch:
> [2db1a57] ALSA: pci: depend on ZONE_DMA (by Dan Williams)
>
> To the stable tree for v4.3.X Kernel.
>
> This patch is needed for proper operation of the 4.3 pmem.ko driver. Long
> story, but without this patch the persistent-memory will not be able to
> work with the new 4.3 support of page-struct which is needed if we want to
> RDMA and/or IO directly to persistent memory.
> [Is to do with the new ZONE_DEVICE and too many ZONE(s) if ZONE_DMA is enabled]

Well, it's not exactly true: you just need to deselect some drivers to
allow CONFIG_ZONE_DMA to be disabled. It's merely another side of
coin.

I don't mind including this to 4.3, though, but just want to correct
the statement.


Takashi

2015-11-16 09:49:37

by Boaz Harrosh

[permalink] [raw]
Subject: Re: [PATCH] sound: depend on ZONE_DMA

On 11/16/2015 11:28 AM, Takashi Iwai wrote:
<>
>>
>> Hi Greg
>>
>> Please include the mainline patch:
>> [2db1a57] ALSA: pci: depend on ZONE_DMA (by Dan Williams)
>>
>> To the stable tree for v4.3.X Kernel.
>>
>> This patch is needed for proper operation of the 4.3 pmem.ko driver. Long
>> story, but without this patch the persistent-memory will not be able to
>> work with the new 4.3 support of page-struct which is needed if we want to
>> RDMA and/or IO directly to persistent memory.
>> [Is to do with the new ZONE_DEVICE and too many ZONE(s) if ZONE_DMA is enabled]
>
> Well, it's not exactly true: you just need to deselect some drivers to
> allow CONFIG_ZONE_DMA to be disabled. It's merely another side of
> coin.
>
> I don't mind including this to 4.3, though, but just want to correct
> the statement.
>

This is true. Sorry for not being clear. We already have a script that we
give to clients to enable ZONE_DEVICE for 4.3 based systems. Is currently
simple based on this patch. Without this patch it will need to be more
complicated.

Thanks Takashi
Boaz

>
> Takashi
>