From patchwork Fri Jun 19 22:42:36 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bjorn Helgaas X-Patchwork-Id: 486921 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 6433D14030E for ; Sat, 20 Jun 2015 08:42:40 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b=phQmqh4a; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752795AbbFSWmj (ORCPT ); Fri, 19 Jun 2015 18:42:39 -0400 Received: from mail-ie0-f175.google.com ([209.85.223.175]:34620 "EHLO mail-ie0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752643AbbFSWmj (ORCPT ); Fri, 19 Jun 2015 18:42:39 -0400 Received: by iebmu5 with SMTP id mu5so83620076ieb.1 for ; Fri, 19 Jun 2015 15:42:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=subject:to:from:cc:date:message-id:in-reply-to:references :user-agent:mime-version:content-type:content-transfer-encoding; bh=2flOqG5iO5567CwTafGU8EQ8L6Dl42Epfily8DG3Nrs=; b=phQmqh4aNbqvfvbOtIj66qsmpXXTZ7pnSmy5gpnqMDWLZXv1ujdWxRbwE2vSxJVGPH 1p7B8+rvG59AAN1wLyy5FKg3MNEIusxsgdpczmfjPMcFzYWDw+echY6Lle7bDPIfyNcn lyD6f4EgsePG0DNhm3DoVp/KH9BWbihwb6sxLeRfUHZLxZlaFZA85o38ssrglXxppUw3 DAj8k8rf5vQcqJmPNftZJWYVGMxiMopQsXtT1AFYTEZxoetM2g5u4TfecblVIZEMNlKr MRxUcrWrRG9HtM4Ua+4sDsaiYWd8BI7hxmYGofq6bsbMw3e29bh8pSBeZ2xZFI00OSbi 0PMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:from:cc:date:message-id:in-reply-to :references:user-agent:mime-version:content-type :content-transfer-encoding; bh=2flOqG5iO5567CwTafGU8EQ8L6Dl42Epfily8DG3Nrs=; b=mXqZ+Lp1qXmpub4QQY/jFX7mNIRYxfJEzpQ9uobzws1Ka3/hq8Tu9gSUPYUWxmUWvR 6XXB+W2yONwdUSplu9BEiQx2WaCmdLJe4/lI1g3aavVhCc6fEyl4EbST9kCVQ0WH7ula 0Jn+4kVIX9Hvki/pApmfCf+9AVZ39veweX+Tg9OcHV90Iiy/LvQiOj5PafGhqTZFFitE n1p0QeacRHggt6hPbd2Up6XTQ9um2Bf87ruoiY4R4bGpixtGR7iNGbUXAQbr0m2P0KQt l42ZTGHZ92Cqv5hzJGJD/qK/TNi2Vzpe2jYkx0q4sBQsTXd03dCLSL8zoYmvhYmPNChD wGVg== X-Gm-Message-State: ALoCoQnKBWsbmuWLQHlyxPRYoH48T3jjlHB/hLazyjjjEx6/4iCRYK7vdSjiVOYCC2PnsxDbIHjc X-Received: by 10.42.238.14 with SMTP id kq14mr14537426icb.23.1434753758520; Fri, 19 Jun 2015 15:42:38 -0700 (PDT) Received: from localhost ([69.71.1.1]) by mx.google.com with ESMTPSA id e3sm2598779igq.21.2015.06.19.15.42.37 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Fri, 19 Jun 2015 15:42:37 -0700 (PDT) Subject: [PATCH 3/6] PCI: Fix TI816X class code quirk To: linux-pci@vger.kernel.org From: Bjorn Helgaas Cc: Dexuan Cui , Matthew Wilcox , x86@kernel.org, Felipe Balbi , Yu Zhao , Huang Rui , Krzysztof =?utf-8?q?Ha=C5=82asa?= , Jason Chang Date: Fri, 19 Jun 2015 17:42:36 -0500 Message-ID: <20150619224236.14626.87980.stgit@bhelgaas-glaptop2.roam.corp.google.com> In-Reply-To: <20150619223325.14626.66402.stgit@bhelgaas-glaptop2.roam.corp.google.com> References: <20150619223325.14626.66402.stgit@bhelgaas-glaptop2.roam.corp.google.com> User-Agent: StGit/0.16 MIME-Version: 1.0 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org In fixup_ti816x_class(), we assigned "class = PCI_CLASS_MULTIMEDIA_VIDEO". But PCI_CLASS_MULTIMEDIA_VIDEO is only the two-byte base class/sub-class and needs to be shifted to make space for the low-order interface byte. Shift PCI_CLASS_MULTIMEDIA_VIDEO to set the correct class code. Fixes: 63c4408074cb ("PCI: Add quirk for setting valid class for TI816X Endpoint") Signed-off-by: Bjorn Helgaas CC: Hemant Pedanekar --- drivers/pci/quirks.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 64177a6..8bc60c2 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -2844,12 +2844,15 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x3c28, vtd_mask_spec_errors); static void fixup_ti816x_class(struct pci_dev *dev) { + u32 class = dev->class; + /* TI 816x devices do not have class code set when in PCIe boot mode */ - dev_info(&dev->dev, "Setting PCI class for 816x PCIe device\n"); - dev->class = PCI_CLASS_MULTIMEDIA_VIDEO; + dev->class = PCI_CLASS_MULTIMEDIA_VIDEO << 8; + dev_info(&dev->dev, "PCI class overridden (%#08x -> %#08x)\n", + class, dev->class); } DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_TI, 0xb800, - PCI_CLASS_NOT_DEFINED, 0, fixup_ti816x_class); + PCI_CLASS_NOT_DEFINED, 0, fixup_ti816x_class); /* Some PCIe devices do not work reliably with the claimed maximum * payload size supported.