netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next] ioat/dca: Update DCA BIOS workarounds to use TAINT_FIRMWARE_WORKAROUND
@ 2013-03-22 16:01 Alexander Duyck
  2013-03-22 16:56 ` David Miller
  0 siblings, 1 reply; 2+ messages in thread
From: Alexander Duyck @ 2013-03-22 16:01 UTC (permalink / raw)
  To: netdev, davem
  Cc: bhutchings, gospo, david.woodhouse, sassmann, jeffrey.t.kirsher

This patch is meant to be a follow-up for a patch originally submitted under
the title "ioat: Do not enable DCA if tag map is invalid".  It was brought to
my attention that the preferred approach for BIOS workarounds is to set the
taint flag for TAINT_FIRMWARE_WORKAROUND for systems that require BIOS
workarounds.

This change makes it so that the DCA workarounds for broken BIOSes will now
use WARN_TAINT_ONCE(1, TAINT_FIRMWARE_WORKAROUND, ...) instead of just
printing a message via dev_err.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
---

I am submitting this for net-next since that is the path that the original
patch that this is an update to had followed.  My apologies for not making
that clear in the original submission.

 drivers/dma/ioat/dca.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/drivers/dma/ioat/dca.c b/drivers/dma/ioat/dca.c
index 9b04185..9e84d5b 100644
--- a/drivers/dma/ioat/dca.c
+++ b/drivers/dma/ioat/dca.c
@@ -470,8 +470,10 @@ struct dca_provider *ioat2_dca_init(struct pci_dev *pdev, void __iomem *iobase)
 	}
 
 	if (!dca2_tag_map_valid(ioatdca->tag_map)) {
-		dev_err(&pdev->dev, "APICID_TAG_MAP set incorrectly by BIOS, "
-			"disabling DCA\n");
+		WARN_TAINT_ONCE(1, TAINT_FIRMWARE_WORKAROUND,
+				"%s %s: APICID_TAG_MAP set incorrectly by BIOS, disabling DCA\n",
+				dev_driver_string(&pdev->dev),
+				dev_name(&pdev->dev));
 		free_dca_provider(dca);
 		return NULL;
 	}
@@ -689,7 +691,10 @@ struct dca_provider *ioat3_dca_init(struct pci_dev *pdev, void __iomem *iobase)
 	}
 
 	if (dca3_tag_map_invalid(ioatdca->tag_map)) {
-		dev_err(&pdev->dev, "APICID_TAG_MAP set incorrectly by BIOS, disabling DCA\n");
+		WARN_TAINT_ONCE(1, TAINT_FIRMWARE_WORKAROUND,
+				"%s %s: APICID_TAG_MAP set incorrectly by BIOS, disabling DCA\n",
+				dev_driver_string(&pdev->dev),
+				dev_name(&pdev->dev));
 		free_dca_provider(dca);
 		return NULL;
 	}

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH net-next] ioat/dca: Update DCA BIOS workarounds to use TAINT_FIRMWARE_WORKAROUND
  2013-03-22 16:01 [PATCH net-next] ioat/dca: Update DCA BIOS workarounds to use TAINT_FIRMWARE_WORKAROUND Alexander Duyck
@ 2013-03-22 16:56 ` David Miller
  0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2013-03-22 16:56 UTC (permalink / raw)
  To: alexander.h.duyck
  Cc: netdev, bhutchings, gospo, david.woodhouse, sassmann,
	jeffrey.t.kirsher

From: Alexander Duyck <alexander.h.duyck@intel.com>
Date: Fri, 22 Mar 2013 09:01:59 -0700

> This patch is meant to be a follow-up for a patch originally submitted under
> the title "ioat: Do not enable DCA if tag map is invalid".  It was brought to
> my attention that the preferred approach for BIOS workarounds is to set the
> taint flag for TAINT_FIRMWARE_WORKAROUND for systems that require BIOS
> workarounds.
> 
> This change makes it so that the DCA workarounds for broken BIOSes will now
> use WARN_TAINT_ONCE(1, TAINT_FIRMWARE_WORKAROUND, ...) instead of just
> printing a message via dev_err.
> 
> Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>

Applied, thanks Alex.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-03-22 16:56 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-22 16:01 [PATCH net-next] ioat/dca: Update DCA BIOS workarounds to use TAINT_FIRMWARE_WORKAROUND Alexander Duyck
2013-03-22 16:56 ` David Miller

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).