Message ID | 20151112201357.11045.22705.stgit@dwillia2-desk3.jf.intel.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 2db1a57986d3 |
Headers | show |
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 <perex@perex.cz> > Cc: Takashi Iwai <tiwai@suse.com> > Cc: <alsa-devel@alsa-project.org> > Reported-by: Jeff Moyer <jmoyer@redhat.com> > Signed-off-by: Dan Williams <dan.j.williams@intel.com> 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 <boaz@plexistor.com> 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 > Linux-nvdimm@lists.01.org > https://lists.01.org/mailman/listinfo/linux-nvdimm >
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 <stable@vger.kernel.org> Thanks Boaz > > Takashi > >> >> Cc: Jaroslav Kysela <perex@perex.cz> >> Cc: Takashi Iwai <tiwai@suse.com> >> Cc: <alsa-devel@alsa-project.org> >> Reported-by: Jeff Moyer <jmoyer@redhat.com> >> Signed-off-by: Dan Williams <dan.j.williams@intel.com> >> --- >> 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 majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ >
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 <stable@vger.kernel.org> > > 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
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 >
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.
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 <perex@perex.cz> Cc: Takashi Iwai <tiwai@suse.com> Cc: <alsa-devel@alsa-project.org> Reported-by: Jeff Moyer <jmoyer@redhat.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> --- sound/pci/Kconfig | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-)