Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2c5510d4 authored by Yang Hongyang's avatar Yang Hongyang Committed by Linus Torvalds
Browse files

dma-mapping: update the old macro DMA_nBIT_MASK related documentations



Update the old macro DMA_nBIT_MASK related documentations

Signed-off-by: default avatarYang <Hongyang&lt;yanghy@cn.fujitsu.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 2f4f27d4
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -136,7 +136,7 @@ exactly why.
The standard 32-bit addressing PCI device would do something like
this:

	if (pci_set_dma_mask(pdev, DMA_32BIT_MASK)) {
	if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) {
		printk(KERN_WARNING
		       "mydev: No suitable DMA available.\n");
		goto ignore_this_device;
@@ -155,9 +155,9 @@ all 64-bits when accessing streaming DMA:

	int using_dac;

	if (!pci_set_dma_mask(pdev, DMA_64BIT_MASK)) {
	if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) {
		using_dac = 1;
	} else if (!pci_set_dma_mask(pdev, DMA_32BIT_MASK)) {
	} else if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) {
		using_dac = 0;
	} else {
		printk(KERN_WARNING
@@ -170,14 +170,14 @@ the case would look like this:

	int using_dac, consistent_using_dac;

	if (!pci_set_dma_mask(pdev, DMA_64BIT_MASK)) {
	if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) {
		using_dac = 1;
	   	consistent_using_dac = 1;
		pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK);
	} else if (!pci_set_dma_mask(pdev, DMA_32BIT_MASK)) {
		pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64));
	} else if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) {
		using_dac = 0;
		consistent_using_dac = 0;
		pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK);
		pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32));
	} else {
		printk(KERN_WARNING
		       "mydev: No suitable DMA available.\n");
@@ -192,7 +192,7 @@ check the return value from pci_set_consistent_dma_mask().
Finally, if your device can only drive the low 24-bits of
address during PCI bus mastering you might do something like:

	if (pci_set_dma_mask(pdev, DMA_24BIT_MASK)) {
	if (pci_set_dma_mask(pdev, DMA_BIT_MASK(24))) {
		printk(KERN_WARNING
		       "mydev: 24-bit DMA addressing not available.\n");
		goto ignore_this_device;
@@ -213,7 +213,7 @@ most specific mask.

Here is pseudo-code showing how this might be done:

	#define PLAYBACK_ADDRESS_BITS	DMA_32BIT_MASK
	#define PLAYBACK_ADDRESS_BITS	DMA_BIT_MASK(32)
	#define RECORD_ADDRESS_BITS	0x00ffffff

	struct my_sound_card *card;
+4 −4
Original line number Diff line number Diff line
@@ -1137,8 +1137,8 @@
          if (err < 0)
                  return err;
          /* check PCI availability (28bit DMA) */
          if (pci_set_dma_mask(pci, DMA_28BIT_MASK) < 0 ||
              pci_set_consistent_dma_mask(pci, DMA_28BIT_MASK) < 0) {
          if (pci_set_dma_mask(pci, DMA_BIT_MASK(28)) < 0 ||
              pci_set_consistent_dma_mask(pci, DMA_BIT_MASK(28)) < 0) {
                  printk(KERN_ERR "error to set 28bit mask DMA\n");
                  pci_disable_device(pci);
                  return -ENXIO;
@@ -1252,8 +1252,8 @@
  err = pci_enable_device(pci);
  if (err < 0)
          return err;
  if (pci_set_dma_mask(pci, DMA_28BIT_MASK) < 0 ||
      pci_set_consistent_dma_mask(pci, DMA_28BIT_MASK) < 0) {
  if (pci_set_dma_mask(pci, DMA_BIT_MASK(28)) < 0 ||
      pci_set_consistent_dma_mask(pci, DMA_BIT_MASK(28)) < 0) {
          printk(KERN_ERR "error to set 28bit mask DMA\n");
          pci_disable_device(pci);
          return -ENXIO;