get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/44980/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 44980,
    "url": "https://patches.dpdk.org/api/patches/44980/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1537394318-17682-1-git-send-email-rasesh.mody@cavium.com/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1537394318-17682-1-git-send-email-rasesh.mody@cavium.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1537394318-17682-1-git-send-email-rasesh.mody@cavium.com",
    "date": "2018-09-19T21:59:05",
    "name": "[1/5] net/bnx2x: fix logging to include dev name",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "39182cc908df7e30c4e6dc8f014643deccc769ec",
    "submitter": {
        "id": 569,
        "url": "https://patches.dpdk.org/api/people/569/?format=api",
        "name": "Mody, Rasesh",
        "email": "rasesh.mody@cavium.com"
    },
    "delegate": {
        "id": 319,
        "url": "https://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1537394318-17682-1-git-send-email-rasesh.mody@cavium.com/mbox/",
    "series": [
        {
            "id": 1402,
            "url": "https://patches.dpdk.org/api/series/1402/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=1402",
            "date": "2018-09-19T21:59:05",
            "name": "[1/5] net/bnx2x: fix logging to include dev name",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/1402/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/44980/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/44980/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id CEAA71B126;\n\tWed, 19 Sep 2018 23:59:16 +0200 (CEST)",
            "from NAM02-BL2-obe.outbound.protection.outlook.com\n\t(mail-bl2nam02on0080.outbound.protection.outlook.com [104.47.38.80])\n\tby dpdk.org (Postfix) with ESMTP id E09C01B11F;\n\tWed, 19 Sep 2018 23:59:12 +0200 (CEST)",
            "from BYAPR07MB5365.namprd07.prod.outlook.com (20.177.125.18) by\n\tBYAPR07MB5703.namprd07.prod.outlook.com (20.178.0.29) with Microsoft\n\tSMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.1143.17; Wed, 19 Sep 2018 21:59:06 +0000",
            "from BYAPR07MB5365.namprd07.prod.outlook.com\n\t([fe80::2047:9647:f196:bde0]) by\n\tBYAPR07MB5365.namprd07.prod.outlook.com\n\t([fe80::2047:9647:f196:bde0%6]) with mapi id 15.20.1143.017;\n\tWed, 19 Sep 2018 21:59:06 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=i4ZsEm/wd2o/aX3YeyGUV4GvFrDBK7G3esUx2iSJxBQ=;\n\tb=jPbuPuKOWeJewK+VPCUBNTwRP3m6bAaf8w9YNUaRgNA5O9lu3G1mg75TCeBzm3lGvadVQpP/5jBRW0Xc3eyDB9S+0gowDTNYBZu70EzpjLW2J2Uh0R5CWdZ6WUouvmy/vAkFrgAezY5E0wTGwBlGAQ5afvuQce+u1/EO3rbpBjs=",
        "From": "\"Mody, Rasesh\" <Rasesh.Mody@cavium.com>",
        "To": "\"dev@dpdk.org\" <dev@dpdk.org>",
        "CC": "\"Mody, Rasesh\" <Rasesh.Mody@cavium.com>, \"ferruh.yigit@intel.com\"\n\t<ferruh.yigit@intel.com>,\n\tDept-Eng DPDK Dev <Dept-EngDPDKDev@cavium.com>, \n\t\"stable@dpdk.org\" <stable@dpdk.org>",
        "Thread-Topic": "[PATCH 1/5] net/bnx2x: fix logging to include dev name",
        "Thread-Index": "AQHUUGP6ahBAdEtQukSiqGIOUJtTHg==",
        "Date": "Wed, 19 Sep 2018 21:59:05 +0000",
        "Message-ID": "<1537394318-17682-1-git-send-email-rasesh.mody@cavium.com>",
        "Accept-Language": "en-US",
        "Content-Language": "en-US",
        "X-MS-Has-Attach": "",
        "X-MS-TNEF-Correlator": "",
        "x-clientproxiedby": "BYAPR04CA0003.namprd04.prod.outlook.com\n\t(2603:10b6:a03:40::16) To BYAPR07MB5365.namprd07.prod.outlook.com\n\t(2603:10b6:a03:64::18)",
        "authentication-results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Rasesh.Mody@cavium.com; ",
        "x-ms-exchange-messagesentrepresentingtype": "1",
        "x-originating-ip": "[198.186.1.5]",
        "x-ms-publictraffictype": "Email",
        "x-microsoft-exchange-diagnostics": "1; BYAPR07MB5703;\n\t6:HGlOoHuPf6uFY4FPmrf4ins6oBl9uB4lHy9ujDU0HTQSzR2Epwx6lgm7pHRV1DhFuU2vUHHznoECGKyGlzS/5gv4iHD+X+dVIYi5M0VYTfQMVCSwMX/3McZ52zzFJfrR+fzRY1jB6/Zjb9CJtINwtIYkuml2uV5EipvJsLjk/AS2x3NaoZ+MmeYGyKYtyg5rZL1+ypTKBCVDWLLmmo4EUTtkCmc+BbFl1BlYsOvF0aS8A9pcEcBPGblcIRJ7DFPVYJ0uIpoh3Z7XmitjLos5Ut+ceSlPWgjAlXaF6g0lhrkh73sYIBY3hWjhtu9e2rt3lhFzuI/O02DilxaRjSPEdxyBJkTKvrezNlkfq6Gg+50kT86lRH81xOIwYouG6DlnRV0/bkDUO1aoMr6IOwRlWtV4aQrluuqs6xFl5p9c2iZ2WonAoenOdcE3SlRRHth1qGV25HJYw4HINDNt3SMfHg==;\n\t5:ptWyqXdnuE27DM9Z6jW2h1ATxbzYS5WiLvWu/0cZjdZtgdT/gQQvli7v/EJnqzzEM3/LB1cl9ySU8dMwQR+HKeMTsm5jSY5h1c27Qfhre+cPED26n4niVDTzSI8OCQIh44lkFs/9Ij3XgXjYMK/ksDeGzeHg1XACjfoxGUz16eM=;\n\t7:QLZC2PDReOyGBWicuvFhVkdkL0NM2BZDN0L2YhYRRbTnREiF+dmZGa/M4tOLM7Fdq/QfSOFpKGYM/qonjLUa1u82HBte6d6RnCc9Y75/S7xSicnnybotXf0nVgyeZ8ix1gaSmgrLxiwsElGHMdcrTqRQxbnTCi2SKMeWGRZfmOVcnzDIBBxUPodA5W+7F8hAfb59TiqDH4npbsAAL0XANUMeHOzxUhZ2WIAQwY7L2WCNGVSKI1KmUm03K03IHFo2",
        "x-ms-office365-filtering-correlation-id": "13cfc64a-9f69-4040-afc9-08d61e7b1d01",
        "x-microsoft-antispam": "BCL:0; PCL:0;\n\tRULEID:(7020095)(4652040)(8989299)(4534165)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060)(7193020);\n\tSRVR:BYAPR07MB5703; ",
        "x-ms-traffictypediagnostic": "BYAPR07MB5703:",
        "x-microsoft-antispam-prvs": "<BYAPR07MB570322BF2AD8A214E22221699F1C0@BYAPR07MB5703.namprd07.prod.outlook.com>",
        "x-exchange-antispam-report-test": "UriScan:(163750095850);",
        "x-ms-exchange-senderadcheck": "1",
        "x-exchange-antispam-report-cfa-test": "BCL:0; PCL:0;\n\tRULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(823301075)(3231355)(944501410)(52105095)(93006095)(93001095)(3002001)(10201501046)(149027)(150027)(6041310)(20161123564045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(201708071742011)(7699051);\n\tSRVR:BYAPR07MB5703; BCL:0; PCL:0; RULEID:; SRVR:BYAPR07MB5703; ",
        "x-forefront-prvs": "0800C0C167",
        "x-forefront-antispam-report": "SFV:NSPM;\n\tSFS:(10009020)(346002)(136003)(396003)(376002)(39850400004)(366004)(189003)(199004)(5660300001)(2351001)(6486002)(7736002)(6116002)(6436002)(16200700003)(3846002)(99286004)(54906003)(6916009)(476003)(486006)(105586002)(53946003)(2616005)(478600001)(5640700003)(106356001)(305945005)(6512007)(97736004)(66066001)(52116002)(53936002)(551934003)(2906002)(5024004)(256004)(316002)(4326008)(2501003)(102836004)(2900100001)(575784001)(81156014)(386003)(86362001)(81166006)(5250100002)(26005)(36756003)(8676002)(72206003)(14444005)(68736007)(8936002)(25786009)(1730700003)(14454004)(186003)(6506007)(559001)(579004)(569006);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR07MB5703;\n\tH:BYAPR07MB5365.namprd07.prod.outlook.com; FPR:; SPF:None; LANG:en;\n\tPTR:InfoNoRecords; MX:1; A:1; ",
        "received-spf": "None (protection.outlook.com: cavium.com does not designate\n\tpermitted sender hosts)",
        "x-microsoft-antispam-message-info": "OqEpDibslSvGo9sa1oiKuBe+QLtSpFzLueNRJUXzUUZ9Ss7zOVfhQGkZK6tvJYKgfjLAnh1JXQ1dUeZhoAOL2/fLsxBXARNrCTgkm4bOn2ZGQ4vTpg+bUWx1lU2vJnZ6Wd+cF5jhAuvNS2tDKhKb5Q/rg2B7NUkUjLM8v+tPSvZt5kOeGDWrtvuollzp7gr16WIQLkOGyku9KkIIiHijfuF4ulPOsxRgLw0enxFH3aN/BxpW2Cq6S1tCEXwqz9tEAnY/gofneeVM43RP18hFMBtxz5Pchyu5kPOerRXOAE9PMccJse2u/NF9mpCq8jkZIoMbR01t/49oqwKN4qkiASINF9OE/o7R6HX5E+XYbbc=",
        "spamdiagnosticoutput": "1:99",
        "spamdiagnosticmetadata": "NSPM",
        "Content-Type": "text/plain; charset=\"iso-8859-1\"",
        "Content-Transfer-Encoding": "quoted-printable",
        "MIME-Version": "1.0",
        "X-OriginatorOrg": "cavium.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "13cfc64a-9f69-4040-afc9-08d61e7b1d01",
        "X-MS-Exchange-CrossTenant-originalarrivaltime": "19 Sep 2018 21:59:06.5345\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-fromentityheader": "Hosted",
        "X-MS-Exchange-CrossTenant-id": "711e4ccf-2e9b-4bcf-a551-4094005b6194",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BYAPR07MB5703",
        "Subject": "[dpdk-dev] [PATCH 1/5] net/bnx2x: fix logging to include dev name",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Fix PMD logging scheme to include device name in the messages printed.\n\nFixes: 540a211084a7 (\"bnx2x: driver core\")\nCc: stable@dpdk.org\n\nSigned-off-by: Rasesh Mody <rasesh.mody@cavium.com>\n---\n drivers/net/bnx2x/bnx2x.c          |  754 ++++++++++++++++++-----------------\n drivers/net/bnx2x/bnx2x.h          |   32 +-\n drivers/net/bnx2x/bnx2x_ethdev.c   |   90 +++--\n drivers/net/bnx2x/bnx2x_logs.h     |   25 +-\n drivers/net/bnx2x/bnx2x_rxtx.c     |   15 +-\n drivers/net/bnx2x/bnx2x_stats.c    |   35 +-\n drivers/net/bnx2x/bnx2x_vfpf.c     |   50 +--\n drivers/net/bnx2x/ecore_init.h     |    6 +-\n drivers/net/bnx2x/ecore_init_ops.h |    8 +-\n drivers/net/bnx2x/ecore_sp.c       |  258 ++++++------\n drivers/net/bnx2x/ecore_sp.h       |    4 +-\n drivers/net/bnx2x/elink.c          |  761 ++++++++++++++++++------------------\n 12 files changed, 1052 insertions(+), 986 deletions(-)",
    "diff": "diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c\nindex 4904eaf..93f8586 100644\n--- a/drivers/net/bnx2x/bnx2x.c\n+++ b/drivers/net/bnx2x/bnx2x.c\n@@ -178,13 +178,14 @@ int bnx2x_cmpxchg(volatile int *addr, int old, int new)\n \t\t\t\t\tSOCKET_ID_ANY,\n \t\t\t\t\tRTE_MEMZONE_IOVA_CONTIG, align);\n \tif (z == NULL) {\n-\t\tPMD_DRV_LOG(ERR, \"DMA alloc failed for %s\", msg);\n+\t\tPMD_DRV_LOG(ERR, sc, \"DMA alloc failed for %s\", msg);\n \t\treturn -ENOMEM;\n \t}\n \tdma->paddr = (uint64_t) z->iova;\n \tdma->vaddr = z->addr;\n \n-\tPMD_DRV_LOG(DEBUG, \"%s: virt=%p phys=%\" PRIx64, msg, dma->vaddr, dma->paddr);\n+\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t    \"%s: virt=%p phys=%\" PRIx64, msg, dma->vaddr, dma->paddr);\n \n \treturn 0;\n }\n@@ -197,11 +198,11 @@ static int bnx2x_acquire_hw_lock(struct bnx2x_softc *sc, uint32_t resource)\n \tuint32_t hw_lock_control_reg;\n \tint cnt;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \t/* validate the resource is within range */\n \tif (resource > HW_LOCK_MAX_RESOURCE_VALUE) {\n-\t\tPMD_DRV_LOG(NOTICE,\n+\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t    \"resource 0x%x > HW_LOCK_MAX_RESOURCE_VALUE\",\n \t\t\t    resource);\n \t\treturn -1;\n@@ -217,7 +218,7 @@ static int bnx2x_acquire_hw_lock(struct bnx2x_softc *sc, uint32_t resource)\n \t/* validate the resource is not already taken */\n \tlock_status = REG_RD(sc, hw_lock_control_reg);\n \tif (lock_status & resource_bit) {\n-\t\tPMD_DRV_LOG(NOTICE,\n+\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t    \"resource in use (status 0x%x bit 0x%x)\",\n \t\t\t    lock_status, resource_bit);\n \t\treturn -1;\n@@ -233,7 +234,7 @@ static int bnx2x_acquire_hw_lock(struct bnx2x_softc *sc, uint32_t resource)\n \t\tDELAY(5000);\n \t}\n \n-\tPMD_DRV_LOG(NOTICE, \"Resource lock timeout!\");\n+\tPMD_DRV_LOG(NOTICE, sc, \"Resource lock timeout!\");\n \treturn -1;\n }\n \n@@ -244,11 +245,11 @@ static int bnx2x_release_hw_lock(struct bnx2x_softc *sc, uint32_t resource)\n \tint func = SC_FUNC(sc);\n \tuint32_t hw_lock_control_reg;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \t/* validate the resource is within range */\n \tif (resource > HW_LOCK_MAX_RESOURCE_VALUE) {\n-\t\tPMD_DRV_LOG(NOTICE,\n+\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t    \"resource 0x%x > HW_LOCK_MAX_RESOURCE_VALUE\",\n \t\t\t    resource);\n \t\treturn -1;\n@@ -264,7 +265,7 @@ static int bnx2x_release_hw_lock(struct bnx2x_softc *sc, uint32_t resource)\n \t/* validate the resource is currently taken */\n \tlock_status = REG_RD(sc, hw_lock_control_reg);\n \tif (!(lock_status & resource_bit)) {\n-\t\tPMD_DRV_LOG(NOTICE,\n+\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t    \"resource not in use (status 0x%x bit 0x%x)\",\n \t\t\t    lock_status, resource_bit);\n \t\treturn -1;\n@@ -366,7 +367,7 @@ uint32_t bnx2x_dmae_opcode_clr_src_reset(uint32_t opcode)\n \t\tif (!timeout ||\n \t\t    (sc->recovery_state != BNX2X_RECOVERY_DONE &&\n \t\t     sc->recovery_state != BNX2X_RECOVERY_NIC_LOADING)) {\n-\t\t\tPMD_DRV_LOG(INFO, \"DMAE timeout!\");\n+\t\t\tPMD_DRV_LOG(INFO, sc, \"DMAE timeout!\");\n \t\t\treturn DMAE_TIMEOUT;\n \t\t}\n \n@@ -375,7 +376,7 @@ uint32_t bnx2x_dmae_opcode_clr_src_reset(uint32_t opcode)\n \t}\n \n \tif (*wb_comp & DMAE_PCI_ERR_FLAG) {\n-\t\tPMD_DRV_LOG(INFO, \"DMAE PCI error!\");\n+\t\tPMD_DRV_LOG(INFO, sc, \"DMAE PCI error!\");\n \t\treturn DMAE_PCI_ERROR;\n \t}\n \n@@ -534,7 +535,7 @@ void elink_cb_reg_write(struct bnx2x_softc *sc, uint32_t reg_addr, uint32_t val)\n elink_cb_event_log(__rte_unused struct bnx2x_softc *sc,\n \t\t   __rte_unused const elink_log_id_t elink_log_id, ...)\n {\n-\tPMD_DRV_LOG(DEBUG, \"ELINK EVENT LOG (%d)\", elink_log_id);\n+\tPMD_DRV_LOG(DEBUG, sc, \"ELINK EVENT LOG (%d)\", elink_log_id);\n }\n \n static int bnx2x_set_spio(struct bnx2x_softc *sc, int spio, uint32_t mode)\n@@ -543,7 +544,7 @@ static int bnx2x_set_spio(struct bnx2x_softc *sc, int spio, uint32_t mode)\n \n \t/* Only 2 SPIOs are configurable */\n \tif ((spio != MISC_SPIO_SPIO4) && (spio != MISC_SPIO_SPIO5)) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Invalid SPIO 0x%x\", spio);\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Invalid SPIO 0x%x\", spio);\n \t\treturn -1;\n \t}\n \n@@ -593,7 +594,7 @@ static int bnx2x_gpio_read(struct bnx2x_softc *sc, int gpio_num, uint8_t port)\n \tuint32_t gpio_reg;\n \n \tif (gpio_num > MISC_REGISTERS_GPIO_3) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Invalid GPIO %d\", gpio_num);\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Invalid GPIO %d\", gpio_num);\n \t\treturn -1;\n \t}\n \n@@ -618,7 +619,7 @@ static int bnx2x_gpio_read(struct bnx2x_softc *sc, int gpio_num, uint8_t port)\n \tuint32_t gpio_reg;\n \n \tif (gpio_num > MISC_REGISTERS_GPIO_3) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Invalid GPIO %d\", gpio_num);\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Invalid GPIO %d\", gpio_num);\n \t\treturn -1;\n \t}\n \n@@ -687,7 +688,8 @@ static int bnx2x_gpio_read(struct bnx2x_softc *sc, int gpio_num, uint8_t port)\n \t\tbreak;\n \n \tdefault:\n-\t\tPMD_DRV_LOG(NOTICE, \"Invalid GPIO mode assignment %d\", mode);\n+\t\tPMD_DRV_LOG(NOTICE, sc,\n+\t\t\t    \"Invalid GPIO mode assignment %d\", mode);\n \t\tbnx2x_release_hw_lock(sc, HW_LOCK_RESOURCE_GPIO);\n \t\treturn -1;\n \t}\n@@ -713,7 +715,7 @@ static int bnx2x_gpio_read(struct bnx2x_softc *sc, int gpio_num, uint8_t port)\n \tuint32_t gpio_reg;\n \n \tif (gpio_num > MISC_REGISTERS_GPIO_3) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Invalid GPIO %d\", gpio_num);\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Invalid GPIO %d\", gpio_num);\n \t\treturn -1;\n \t}\n \n@@ -790,7 +792,7 @@ void elink_cb_notify_link_changed(struct bnx2x_softc *sc)\n \tSHMEM_WR(sc, func_mb[mb_idx].drv_mb_param, param);\n \tSHMEM_WR(sc, func_mb[mb_idx].drv_mb_header, (command | seq));\n \n-\tPMD_DRV_LOG(DEBUG,\n+\tPMD_DRV_LOG(DEBUG, sc,\n \t\t    \"wrote command 0x%08x to FW MB param 0x%08x\",\n \t\t    (command | seq), param);\n \n@@ -805,7 +807,7 @@ void elink_cb_notify_link_changed(struct bnx2x_softc *sc)\n \t\trc &= FW_MSG_CODE_MASK;\n \t} else {\n \t\t/* Ruh-roh! */\n-\t\tPMD_DRV_LOG(NOTICE, \"FW failed to respond!\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"FW failed to respond!\");\n \t\trc = 0;\n \t}\n \n@@ -1023,12 +1025,12 @@ static int bnx2x_is_contextless_ramrod(int cmd, int cmd_type)\n \n \tif (common) {\n \t\tif (!atomic_load_acq_long(&sc->eq_spq_left)) {\n-\t\t\tPMD_DRV_LOG(INFO, \"EQ ring is full!\");\n+\t\t\tPMD_DRV_LOG(INFO, sc, \"EQ ring is full!\");\n \t\t\treturn -1;\n \t\t}\n \t} else {\n \t\tif (!atomic_load_acq_long(&sc->cq_spq_left)) {\n-\t\t\tPMD_DRV_LOG(INFO, \"SPQ ring is full!\");\n+\t\t\tPMD_DRV_LOG(INFO, sc, \"SPQ ring is full!\");\n \t\t\treturn -1;\n \t\t}\n \t}\n@@ -1061,7 +1063,7 @@ static int bnx2x_is_contextless_ramrod(int cmd, int cmd_type)\n \t\tatomic_subtract_acq_long(&sc->cq_spq_left, 1);\n \t}\n \n-\tPMD_DRV_LOG(DEBUG,\n+\tPMD_DRV_LOG(DEBUG, sc,\n \t\t    \"SPQE[%x] (%x:%x) (cmd, common?) (%d,%d) hw_cid %x\"\n \t\t    \"data (%x:%x) type(0x%x) left (CQ, EQ) (%lx,%lx)\",\n \t\t    sc->spq_prod_idx,\n@@ -1132,44 +1134,45 @@ static int bnx2x_has_rx_work(struct bnx2x_fastpath *fp)\n \tenum ecore_queue_cmd drv_cmd = ECORE_Q_CMD_MAX;\n \tstruct ecore_queue_sp_obj *q_obj = &BNX2X_SP_OBJ(sc, fp).q_obj;\n \n-\tPMD_DRV_LOG(DEBUG,\n+\tPMD_DRV_LOG(DEBUG, sc,\n \t\t    \"fp=%d cid=%d got ramrod #%d state is %x type is %d\",\n \t\t    fp->index, cid, command, sc->state,\n \t\t    rr_cqe->ramrod_cqe.ramrod_type);\n \n \tswitch (command) {\n \tcase (RAMROD_CMD_ID_ETH_CLIENT_UPDATE):\n-\t\tPMD_DRV_LOG(DEBUG, \"got UPDATE ramrod. CID %d\", cid);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"got UPDATE ramrod. CID %d\", cid);\n \t\tdrv_cmd = ECORE_Q_CMD_UPDATE;\n \t\tbreak;\n \n \tcase (RAMROD_CMD_ID_ETH_CLIENT_SETUP):\n-\t\tPMD_DRV_LOG(DEBUG, \"got MULTI[%d] setup ramrod\", cid);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"got MULTI[%d] setup ramrod\", cid);\n \t\tdrv_cmd = ECORE_Q_CMD_SETUP;\n \t\tbreak;\n \n \tcase (RAMROD_CMD_ID_ETH_TX_QUEUE_SETUP):\n-\t\tPMD_DRV_LOG(DEBUG, \"got MULTI[%d] tx-only setup ramrod\", cid);\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t\t    \"got MULTI[%d] tx-only setup ramrod\", cid);\n \t\tdrv_cmd = ECORE_Q_CMD_SETUP_TX_ONLY;\n \t\tbreak;\n \n \tcase (RAMROD_CMD_ID_ETH_HALT):\n-\t\tPMD_DRV_LOG(DEBUG, \"got MULTI[%d] halt ramrod\", cid);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"got MULTI[%d] halt ramrod\", cid);\n \t\tdrv_cmd = ECORE_Q_CMD_HALT;\n \t\tbreak;\n \n \tcase (RAMROD_CMD_ID_ETH_TERMINATE):\n-\t\tPMD_DRV_LOG(DEBUG, \"got MULTI[%d] teminate ramrod\", cid);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"got MULTI[%d] teminate ramrod\", cid);\n \t\tdrv_cmd = ECORE_Q_CMD_TERMINATE;\n \t\tbreak;\n \n \tcase (RAMROD_CMD_ID_ETH_EMPTY):\n-\t\tPMD_DRV_LOG(DEBUG, \"got MULTI[%d] empty ramrod\", cid);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"got MULTI[%d] empty ramrod\", cid);\n \t\tdrv_cmd = ECORE_Q_CMD_EMPTY;\n \t\tbreak;\n \n \tdefault:\n-\t\tPMD_DRV_LOG(DEBUG,\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t    \"ERROR: unexpected MC reply (%d)\"\n \t\t\t    \"on fp[%d]\", command, fp->index);\n \t\treturn;\n@@ -1191,7 +1194,7 @@ static int bnx2x_has_rx_work(struct bnx2x_fastpath *fp)\n \n \tatomic_add_acq_long(&sc->cq_spq_left, 1);\n \n-\tPMD_DRV_LOG(DEBUG, \"sc->cq_spq_left 0x%lx\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"sc->cq_spq_left 0x%lx\",\n \t\t    atomic_load_acq_long(&sc->cq_spq_left));\n }\n \n@@ -1387,7 +1390,7 @@ static void bnx2x_drain_tx_queues(struct bnx2x_softc *sc)\n \n \trc = mac_obj->delete_all(sc, mac_obj, &vlan_mac_flags, &ramrod_flags);\n \tif (rc < 0)\n-\t\tPMD_DRV_LOG(ERR, \"Failed to delete MACs (%d)\", rc);\n+\t\tPMD_DRV_LOG(ERR, sc, \"Failed to delete MACs (%d)\", rc);\n \n \treturn rc;\n }\n@@ -1538,13 +1541,13 @@ static int bnx2x_nic_load_no_mcp(struct bnx2x_softc *sc)\n \tint path = SC_PATH(sc);\n \tint port = SC_PORT(sc);\n \n-\tPMD_DRV_LOG(INFO, \"NO MCP - load counts[%d]      %d, %d, %d\",\n+\tPMD_DRV_LOG(INFO, sc, \"NO MCP - load counts[%d]      %d, %d, %d\",\n \t\t    path, load_count[path][0], load_count[path][1],\n \t\t    load_count[path][2]);\n \n \tload_count[path][0]++;\n \tload_count[path][1 + port]++;\n-\tPMD_DRV_LOG(INFO, \"NO MCP - new load counts[%d]  %d, %d, %d\",\n+\tPMD_DRV_LOG(INFO, sc, \"NO MCP - new load counts[%d]  %d, %d, %d\",\n \t\t    path, load_count[path][0], load_count[path][1],\n \t\t    load_count[path][2]);\n \tif (load_count[path][0] == 1)\n@@ -1561,12 +1564,12 @@ static int bnx2x_nic_unload_no_mcp(struct bnx2x_softc *sc)\n \tint port = SC_PORT(sc);\n \tint path = SC_PATH(sc);\n \n-\tPMD_DRV_LOG(INFO, \"NO MCP - load counts[%d]      %d, %d, %d\",\n+\tPMD_DRV_LOG(INFO, sc, \"NO MCP - load counts[%d]      %d, %d, %d\",\n \t\t    path, load_count[path][0], load_count[path][1],\n \t\t    load_count[path][2]);\n \tload_count[path][0]--;\n \tload_count[path][1 + port]--;\n-\tPMD_DRV_LOG(INFO, \"NO MCP - new load counts[%d]  %d, %d, %d\",\n+\tPMD_DRV_LOG(INFO, sc, \"NO MCP - new load counts[%d]  %d, %d, %d\",\n \t\t    path, load_count[path][0], load_count[path][1],\n \t\t    load_count[path][2]);\n \tif (load_count[path][0] == 0) {\n@@ -1646,7 +1649,7 @@ static int bnx2x_func_wait_started(struct bnx2x_softc *sc)\n \t\t */\n \t\tstruct ecore_func_state_params func_params = { NULL };\n \n-\t\tPMD_DRV_LOG(NOTICE, \"Unexpected function state! \"\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Unexpected function state! \"\n \t\t\t    \"Forcing STARTED-->TX_STOPPED-->STARTED\");\n \n \t\tfunc_params.f_obj = &sc->func_obj;\n@@ -1670,7 +1673,7 @@ static int bnx2x_stop_queue(struct bnx2x_softc *sc, int index)\n \tstruct ecore_queue_state_params q_params = { NULL };\n \tint rc;\n \n-\tPMD_DRV_LOG(DEBUG, \"stopping queue %d cid %d\", index, fp->index);\n+\tPMD_DRV_LOG(DEBUG, sc, \"stopping queue %d cid %d\", index, fp->index);\n \n \tq_params.q_obj = &sc->sp_objs[fp->index].q_obj;\n \t/* We want to wait for completion in this context */\n@@ -1721,7 +1724,7 @@ static uint8_t bnx2x_wait_sp_comp(struct bnx2x_softc *sc, unsigned long mask)\n \n \ttmp = atomic_load_acq_long(&sc->sp_state);\n \tif (tmp & mask) {\n-\t\tPMD_DRV_LOG(INFO, \"Filtering completion timed out: \"\n+\t\tPMD_DRV_LOG(INFO, sc, \"Filtering completion timed out: \"\n \t\t\t    \"sp_state 0x%lx, mask 0x%lx\", tmp, mask);\n \t\treturn FALSE;\n \t}\n@@ -1747,7 +1750,7 @@ static int bnx2x_func_stop(struct bnx2x_softc *sc)\n \t */\n \trc = ecore_func_state_change(sc, &func_params);\n \tif (rc) {\n-\t\tPMD_DRV_LOG(NOTICE, \"FUNC_STOP ramrod failed. \"\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"FUNC_STOP ramrod failed. \"\n \t\t\t    \"Running a dry transaction\");\n \t\tbnx2x_set_bit(RAMROD_DRV_CLR_ONLY, &func_params.ramrod_flags);\n \t\treturn ecore_func_state_change(sc, &func_params);\n@@ -1796,14 +1799,16 @@ static void bnx2x_int_disable_sync(struct bnx2x_softc *sc, int disable_hw)\n \trc = bnx2x_del_all_macs(sc, &sc->sp_objs[0].mac_obj, ECORE_ETH_MAC,\n \t\t\t      FALSE);\n \tif (rc < 0) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Failed to delete all ETH MACs (%d)\", rc);\n+\t\tPMD_DRV_LOG(NOTICE, sc,\n+\t\t\t    \"Failed to delete all ETH MACs (%d)\", rc);\n \t}\n \n \t/* Clean up UC list  */\n \trc = bnx2x_del_all_macs(sc, &sc->sp_objs[0].mac_obj, ECORE_UC_LIST_MAC,\n \t\t\t      TRUE);\n \tif (rc < 0) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Failed to delete UC MACs list (%d)\", rc);\n+\t\tPMD_DRV_LOG(NOTICE, sc,\n+\t\t\t    \"Failed to delete UC MACs list (%d)\", rc);\n \t}\n \n \t/* Disable LLH */\n@@ -1826,7 +1831,7 @@ static void bnx2x_int_disable_sync(struct bnx2x_softc *sc, int disable_hw)\n \trparam.mcast_obj = &sc->mcast_obj;\n \trc = ecore_config_mcast(sc, &rparam, ECORE_MCAST_CMD_DEL);\n \tif (rc < 0) {\n-\t\tPMD_DRV_LOG(NOTICE,\n+\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t    \"Failed to send DEL MCAST command (%d)\", rc);\n \t}\n \n@@ -1843,7 +1848,7 @@ static void bnx2x_int_disable_sync(struct bnx2x_softc *sc, int disable_hw)\n \t */\n \trc = bnx2x_func_wait_started(sc);\n \tif (rc) {\n-\t\tPMD_DRV_LOG(NOTICE, \"bnx2x_func_wait_started failed\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"bnx2x_func_wait_started failed\");\n \t}\n \n \t/*\n@@ -1861,14 +1866,14 @@ static void bnx2x_int_disable_sync(struct bnx2x_softc *sc, int disable_hw)\n \t * very wrong has happen.\n \t */\n \tif (!bnx2x_wait_sp_comp(sc, ~0x0UL)) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Common slow path ramrods got stuck!\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Common slow path ramrods got stuck!\");\n \t}\n \n unload_error:\n \n \trc = bnx2x_func_stop(sc);\n \tif (rc) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Function stop failed!\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Function stop failed!\");\n \t}\n \n \t/* disable HW interrupts */\n@@ -1877,7 +1882,7 @@ static void bnx2x_int_disable_sync(struct bnx2x_softc *sc, int disable_hw)\n \t/* Reset the chip */\n \trc = bnx2x_reset_hw(sc, reset_code);\n \tif (rc) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Hardware reset failed\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Hardware reset failed\");\n \t}\n \n \t/* Report UNLOAD_DONE to MCP */\n@@ -1888,7 +1893,7 @@ static void bnx2x_disable_close_the_gate(struct bnx2x_softc *sc)\n {\n \tuint32_t val;\n \n-\tPMD_DRV_LOG(DEBUG, \"Disabling 'close the gates'\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Disabling 'close the gates'\");\n \n \tval = REG_RD(sc, MISC_REG_AEU_GENERAL_MASK);\n \tval &= ~(MISC_AEU_GENERAL_MASK_REG_AEU_PXP_CLOSE_MASK |\n@@ -1919,7 +1924,7 @@ static void bnx2x_squeeze_objects(struct bnx2x_softc *sc)\n \trc = mac_obj->delete_all(sc, &sc->sp_objs->mac_obj, &vlan_mac_flags,\n \t\t\t\t &ramrod_flags);\n \tif (rc != 0) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Failed to clean ETH MACs (%d)\", rc);\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Failed to clean ETH MACs (%d)\", rc);\n \t}\n \n \t/* Cleanup UC list */\n@@ -1927,7 +1932,8 @@ static void bnx2x_squeeze_objects(struct bnx2x_softc *sc)\n \tbnx2x_set_bit(ECORE_UC_LIST_MAC, &vlan_mac_flags);\n \trc = mac_obj->delete_all(sc, mac_obj, &vlan_mac_flags, &ramrod_flags);\n \tif (rc != 0) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Failed to clean UC list MACs (%d)\", rc);\n+\t\tPMD_DRV_LOG(NOTICE, sc,\n+\t\t\t    \"Failed to clean UC list MACs (%d)\", rc);\n \t}\n \n \t/* Now clean mcast object... */\n@@ -1938,7 +1944,7 @@ static void bnx2x_squeeze_objects(struct bnx2x_softc *sc)\n \t/* Add a DEL command... */\n \trc = ecore_config_mcast(sc, &rparam, ECORE_MCAST_CMD_DEL);\n \tif (rc < 0) {\n-\t\tPMD_DRV_LOG(NOTICE,\n+\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t    \"Failed to send DEL MCAST command (%d)\", rc);\n \t}\n \n@@ -1947,7 +1953,7 @@ static void bnx2x_squeeze_objects(struct bnx2x_softc *sc)\n \trc = ecore_config_mcast(sc, &rparam, ECORE_MCAST_CMD_CONT);\n \twhile (rc != 0) {\n \t\tif (rc < 0) {\n-\t\t\tPMD_DRV_LOG(NOTICE,\n+\t\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t\t    \"Failed to clean MCAST object (%d)\", rc);\n \t\t\treturn;\n \t\t}\n@@ -1964,7 +1970,7 @@ static void bnx2x_squeeze_objects(struct bnx2x_softc *sc)\n \tuint8_t global = FALSE;\n \tuint32_t val;\n \n-\tPMD_DRV_LOG(DEBUG, \"Starting NIC unload...\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Starting NIC unload...\");\n \n \t/* mark driver as unloaded in shmem2 */\n \tif (IS_PF(sc) && SHMEM2_HAS(sc, drv_capabilities_flag)) {\n@@ -1988,7 +1994,7 @@ static void bnx2x_squeeze_objects(struct bnx2x_softc *sc)\n \t\tbnx2x_release_leader_lock(sc);\n \t\tmb();\n \n-\t\tPMD_DRV_LOG(NOTICE, \"Can't unload in closed or error state\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Can't unload in closed or error state\");\n \t\treturn -1;\n \t}\n \n@@ -2093,7 +2099,7 @@ static void bnx2x_squeeze_objects(struct bnx2x_softc *sc)\n \t\tbnx2x_disable_close_the_gate(sc);\n \t}\n \n-\tPMD_DRV_LOG(DEBUG, \"Ended NIC unload\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Ended NIC unload\");\n \n \treturn 0;\n }\n@@ -2241,7 +2247,7 @@ static void bnx2x_ilt_set_info(struct bnx2x_softc *sc)\n \tstruct ecore_ilt *ilt = sc->ilt;\n \tuint16_t line = 0;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \tilt->start_line = FUNC_ILT_BASE(SC_FUNC(sc));\n \n@@ -2395,7 +2401,7 @@ static int bnx2x_alloc_mem(struct bnx2x_softc *sc)\n \tbnx2x_alloc_ilt_lines_mem(sc);\n \n \tif (ecore_ilt_mem_op(sc, ILT_MEMOP_ALLOC)) {\n-\t\tPMD_DRV_LOG(NOTICE, \"ecore_ilt_mem_op ILT_MEMOP_ALLOC failed\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"ecore_ilt_mem_op ILT_MEMOP_ALLOC failed\");\n \t\tbnx2x_free_mem(sc);\n \t\treturn -1;\n \t}\n@@ -2598,7 +2604,7 @@ static void bnx2x_set_pf_load(struct bnx2x_softc *sc)\n \n \tbnx2x_acquire_hw_lock(sc, HW_LOCK_RESOURCE_RECOVERY_REG);\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \tval = REG_RD(sc, BNX2X_RECOVERY_GLOB_REG);\n \n@@ -2651,14 +2657,14 @@ static uint8_t bnx2x_clear_pf_load(struct bnx2x_softc *sc)\n /* send load requrest to mcp and analyze response */\n static int bnx2x_nic_load_request(struct bnx2x_softc *sc, uint32_t * load_code)\n {\n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \t/* init fw_seq */\n \tsc->fw_seq =\n \t    (SHMEM_RD(sc, func_mb[SC_FW_MB_IDX(sc)].drv_mb_header) &\n \t     DRV_MSG_SEQ_NUMBER_MASK);\n \n-\tPMD_DRV_LOG(DEBUG, \"initial fw_seq 0x%04x\", sc->fw_seq);\n+\tPMD_DRV_LOG(DEBUG, sc, \"initial fw_seq 0x%04x\", sc->fw_seq);\n \n #ifdef BNX2X_PULSE\n \t/* get the current FW pulse sequence */\n@@ -2677,13 +2683,13 @@ static int bnx2x_nic_load_request(struct bnx2x_softc *sc, uint32_t * load_code)\n \n \t/* if the MCP fails to respond we must abort */\n \tif (!(*load_code)) {\n-\t\tPMD_DRV_LOG(NOTICE, \"MCP response failure!\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"MCP response failure!\");\n \t\treturn -1;\n \t}\n \n \t/* if MCP refused then must abort */\n \tif ((*load_code) == FW_MSG_CODE_DRV_LOAD_REFUSED) {\n-\t\tPMD_DRV_LOG(NOTICE, \"MCP refused load request\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"MCP refused load request\");\n \t\treturn -1;\n \t}\n \n@@ -2710,12 +2716,12 @@ static int bnx2x_nic_load_analyze_req(struct bnx2x_softc *sc, uint32_t load_code\n \n \t\t/* read loaded FW from chip */\n \t\tloaded_fw = REG_RD(sc, XSEM_REG_PRAM);\n-\t\tPMD_DRV_LOG(DEBUG, \"loaded FW 0x%08x / my FW 0x%08x\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"loaded FW 0x%08x / my FW 0x%08x\",\n \t\t\t    loaded_fw, my_fw);\n \n \t\t/* abort nic load if version mismatch */\n \t\tif (my_fw != loaded_fw) {\n-\t\t\tPMD_DRV_LOG(NOTICE,\n+\t\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t\t    \"FW 0x%08x already loaded (mine is 0x%08x)\",\n \t\t\t\t    loaded_fw, my_fw);\n \t\t\treturn -1;\n@@ -2730,7 +2736,7 @@ static void bnx2x_nic_load_pmf(struct bnx2x_softc *sc, uint32_t load_code)\n {\n \tuint32_t ncsi_oem_data_addr;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \tif ((load_code == FW_MSG_CODE_DRV_LOAD_COMMON) ||\n \t    (load_code == FW_MSG_CODE_DRV_LOAD_COMMON_CHIP) ||\n@@ -2745,7 +2751,7 @@ static void bnx2x_nic_load_pmf(struct bnx2x_softc *sc, uint32_t load_code)\n \t\tsc->port.pmf = 0;\n \t}\n \n-\tPMD_DRV_LOG(DEBUG, \"pmf %d\", sc->port.pmf);\n+\tPMD_DRV_LOG(DEBUG, sc, \"pmf %d\", sc->port.pmf);\n \n \tif (load_code == FW_MSG_CODE_DRV_LOAD_COMMON_CHIP) {\n \t\tif (SHMEM2_HAS(sc, ncsi_oem_data_addr)) {\n@@ -2788,10 +2794,10 @@ static void bnx2x_read_mf_cfg(struct bnx2x_softc *sc)\n \n \tif (sc->devinfo.mf_info.mf_config[SC_VN(sc)] &\n \t    FUNC_MF_CFG_FUNC_DISABLED) {\n-\t\tPMD_DRV_LOG(DEBUG, \"mf_cfg function disabled\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"mf_cfg function disabled\");\n \t\tsc->flags |= BNX2X_MF_FUNC_DIS;\n \t} else {\n-\t\tPMD_DRV_LOG(DEBUG, \"mf_cfg function enabled\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"mf_cfg function enabled\");\n \t\tsc->flags &= ~BNX2X_MF_FUNC_DIS;\n \t}\n }\n@@ -2812,7 +2818,7 @@ static int bnx2x_acquire_alr(struct bnx2x_softc *sc)\n \t}\n \n \tif (!(val & (1L << 31))) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Cannot acquire MCP access lock register\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Cannot acquire MCP access lock register\");\n \t\treturn -1;\n \t}\n \n@@ -2840,7 +2846,7 @@ static void bnx2x_fan_failure(struct bnx2x_softc *sc)\n \t\t ext_phy_config);\n \n \t/* log the failure */\n-\tPMD_DRV_LOG(INFO,\n+\tPMD_DRV_LOG(INFO, sc,\n \t\t    \"Fan Failure has caused the driver to shutdown \"\n \t\t    \"the card to prevent permanent damage. \"\n \t\t    \"Please contact OEM Support for assistance\");\n@@ -2918,7 +2924,7 @@ static void bnx2x_attn_int_asserted(struct bnx2x_softc *sc, uint32_t asserted)\n \tuint32_t cnt;\n \n \tif (sc->attn_state & asserted) {\n-\t\tPMD_DRV_LOG(ERR, \"IGU ERROR attn=0x%08x\", asserted);\n+\t\tPMD_DRV_LOG(ERR, sc, \"IGU ERROR attn=0x%08x\", asserted);\n \t}\n \n \tbnx2x_acquire_hw_lock(sc, HW_LOCK_RESOURCE_PORT0_ATT_MASK + port);\n@@ -2950,45 +2956,45 @@ static void bnx2x_attn_int_asserted(struct bnx2x_softc *sc, uint32_t asserted)\n \t\t}\n \n \t\tif (asserted & ATTN_SW_TIMER_4_FUNC) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"ATTN_SW_TIMER_4_FUNC!\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"ATTN_SW_TIMER_4_FUNC!\");\n \t\t}\n \n \t\tif (asserted & GPIO_2_FUNC) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"GPIO_2_FUNC!\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"GPIO_2_FUNC!\");\n \t\t}\n \n \t\tif (asserted & GPIO_3_FUNC) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"GPIO_3_FUNC!\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"GPIO_3_FUNC!\");\n \t\t}\n \n \t\tif (asserted & GPIO_4_FUNC) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"GPIO_4_FUNC!\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"GPIO_4_FUNC!\");\n \t\t}\n \n \t\tif (port == 0) {\n \t\t\tif (asserted & ATTN_GENERAL_ATTN_1) {\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"ATTN_GENERAL_ATTN_1!\");\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"ATTN_GENERAL_ATTN_1!\");\n \t\t\t\tREG_WR(sc, MISC_REG_AEU_GENERAL_ATTN_1, 0x0);\n \t\t\t}\n \t\t\tif (asserted & ATTN_GENERAL_ATTN_2) {\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"ATTN_GENERAL_ATTN_2!\");\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"ATTN_GENERAL_ATTN_2!\");\n \t\t\t\tREG_WR(sc, MISC_REG_AEU_GENERAL_ATTN_2, 0x0);\n \t\t\t}\n \t\t\tif (asserted & ATTN_GENERAL_ATTN_3) {\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"ATTN_GENERAL_ATTN_3!\");\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"ATTN_GENERAL_ATTN_3!\");\n \t\t\t\tREG_WR(sc, MISC_REG_AEU_GENERAL_ATTN_3, 0x0);\n \t\t\t}\n \t\t} else {\n \t\t\tif (asserted & ATTN_GENERAL_ATTN_4) {\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"ATTN_GENERAL_ATTN_4!\");\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"ATTN_GENERAL_ATTN_4!\");\n \t\t\t\tREG_WR(sc, MISC_REG_AEU_GENERAL_ATTN_4, 0x0);\n \t\t\t}\n \t\t\tif (asserted & ATTN_GENERAL_ATTN_5) {\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"ATTN_GENERAL_ATTN_5!\");\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"ATTN_GENERAL_ATTN_5!\");\n \t\t\t\tREG_WR(sc, MISC_REG_AEU_GENERAL_ATTN_5, 0x0);\n \t\t\t}\n \t\t\tif (asserted & ATTN_GENERAL_ATTN_6) {\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"ATTN_GENERAL_ATTN_6!\");\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"ATTN_GENERAL_ATTN_6!\");\n \t\t\t\tREG_WR(sc, MISC_REG_AEU_GENERAL_ATTN_6, 0x0);\n \t\t\t}\n \t\t}\n@@ -3002,7 +3008,7 @@ static void bnx2x_attn_int_asserted(struct bnx2x_softc *sc, uint32_t asserted)\n \t\treg_addr = (BAR_IGU_INTMEM + IGU_CMD_ATTN_BIT_SET_UPPER * 8);\n \t}\n \n-\tPMD_DRV_LOG(DEBUG, \"about to mask 0x%08x at %s addr 0x%08x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"about to mask 0x%08x at %s addr 0x%08x\",\n \t\t    asserted,\n \t\t    (sc->devinfo.int_block == INT_BLOCK_HC) ? \"HC\" : \"IGU\",\n \t\t    reg_addr);\n@@ -3024,7 +3030,7 @@ static void bnx2x_attn_int_asserted(struct bnx2x_softc *sc, uint32_t asserted)\n \t\t\t\t && (++cnt < MAX_IGU_ATTN_ACK_TO));\n \n \t\t\tif (!igu_acked) {\n-\t\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t\t    \"Failed to verify IGU ack on time\");\n \t\t\t}\n \n@@ -3040,7 +3046,7 @@ static void bnx2x_attn_int_asserted(struct bnx2x_softc *sc, uint32_t asserted)\n bnx2x_print_next_block(__rte_unused struct bnx2x_softc *sc, __rte_unused int idx,\n \t\t     __rte_unused const char *blk)\n {\n-\tPMD_DRV_LOG(INFO, \"%s%s\", idx ? \", \" : \"\", blk);\n+\tPMD_DRV_LOG(INFO, sc, \"%s%s\", idx ? \", \" : \"\", blk);\n }\n \n static int\n@@ -3348,7 +3354,7 @@ static void bnx2x_attn_int_asserted(struct bnx2x_softc *sc, uint32_t asserted)\n \t    (sig[2] & HW_PRTY_ASSERT_SET_2) ||\n \t    (sig[3] & HW_PRTY_ASSERT_SET_3) ||\n \t    (sig[4] & HW_PRTY_ASSERT_SET_4)) {\n-\t\tPMD_DRV_LOG(ERR,\n+\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t    \"Parity error: HW block parity attention:\"\n \t\t\t    \"[0]:0x%08x [1]:0x%08x [2]:0x%08x [3]:0x%08x [4]:0x%08x\",\n \t\t\t    (uint32_t) (sig[0] & HW_PRTY_ASSERT_SET_0),\n@@ -3358,7 +3364,7 @@ static void bnx2x_attn_int_asserted(struct bnx2x_softc *sc, uint32_t asserted)\n \t\t\t    (uint32_t) (sig[4] & HW_PRTY_ASSERT_SET_4));\n \n \t\tif (print)\n-\t\t\tPMD_DRV_LOG(INFO, \"Parity errors detected in blocks: \");\n+\t\t\tPMD_DRV_LOG(INFO, sc, \"Parity errors detected in blocks: \");\n \n \t\tpar_num =\n \t\t    bnx2x_check_blocks_with_parity0(sc, sig[0] &\n@@ -3382,7 +3388,7 @@ static void bnx2x_attn_int_asserted(struct bnx2x_softc *sc, uint32_t asserted)\n \t\t\t\t\t\t  par_num, print);\n \n \t\tif (print)\n-\t\t\tPMD_DRV_LOG(INFO, \"\");\n+\t\t\tPMD_DRV_LOG(INFO, sc, \"\");\n \n \t\treturn TRUE;\n \t}\n@@ -3414,64 +3420,64 @@ static void bnx2x_attn_int_deasserted4(struct bnx2x_softc *sc, uint32_t attn)\n \n \tif (attn & AEU_INPUTS_ATTN_BITS_PGLUE_HW_INTERRUPT) {\n \t\tval = REG_RD(sc, PGLUE_B_REG_PGLUE_B_INT_STS_CLR);\n-\t\tPMD_DRV_LOG(INFO, \"ERROR: PGLUE hw attention 0x%08x\", val);\n+\t\tPMD_DRV_LOG(INFO, sc, \"ERROR: PGLUE hw attention 0x%08x\", val);\n \t\tif (val & PGLUE_B_PGLUE_B_INT_STS_REG_ADDRESS_ERROR)\n-\t\t\tPMD_DRV_LOG(INFO,\n+\t\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t\t    \"ERROR: PGLUE_B_PGLUE_B_INT_STS_REG_ADDRESS_ERROR\");\n \t\tif (val & PGLUE_B_PGLUE_B_INT_STS_REG_INCORRECT_RCV_BEHAVIOR)\n-\t\t\tPMD_DRV_LOG(INFO,\n+\t\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t\t    \"ERROR: PGLUE_B_PGLUE_B_INT_STS_REG_INCORRECT_RCV_BEHAVIOR\");\n \t\tif (val & PGLUE_B_PGLUE_B_INT_STS_REG_WAS_ERROR_ATTN)\n-\t\t\tPMD_DRV_LOG(INFO,\n+\t\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t\t    \"ERROR: PGLUE_B_PGLUE_B_INT_STS_REG_WAS_ERROR_ATTN\");\n \t\tif (val & PGLUE_B_PGLUE_B_INT_STS_REG_VF_LENGTH_VIOLATION_ATTN)\n-\t\t\tPMD_DRV_LOG(INFO,\n+\t\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t\t    \"ERROR: PGLUE_B_PGLUE_B_INT_STS_REG_VF_LENGTH_VIOLATION_ATTN\");\n \t\tif (val &\n \t\t    PGLUE_B_PGLUE_B_INT_STS_REG_VF_GRC_SPACE_VIOLATION_ATTN)\n-\t\t\tPMD_DRV_LOG(INFO,\n+\t\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t\t    \"ERROR: PGLUE_B_PGLUE_B_INT_STS_REG_VF_GRC_SPACE_VIOLATION_ATTN\");\n \t\tif (val &\n \t\t    PGLUE_B_PGLUE_B_INT_STS_REG_VF_MSIX_BAR_VIOLATION_ATTN)\n-\t\t\tPMD_DRV_LOG(INFO,\n+\t\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t\t    \"ERROR: PGLUE_B_PGLUE_B_INT_STS_REG_VF_MSIX_BAR_VIOLATION_ATTN\");\n \t\tif (val & PGLUE_B_PGLUE_B_INT_STS_REG_TCPL_ERROR_ATTN)\n-\t\t\tPMD_DRV_LOG(INFO,\n+\t\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t\t    \"ERROR: PGLUE_B_PGLUE_B_INT_STS_REG_TCPL_ERROR_ATTN\");\n \t\tif (val & PGLUE_B_PGLUE_B_INT_STS_REG_TCPL_IN_TWO_RCBS_ATTN)\n-\t\t\tPMD_DRV_LOG(INFO,\n+\t\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t\t    \"ERROR: PGLUE_B_PGLUE_B_INT_STS_REG_TCPL_IN_TWO_RCBS_ATTN\");\n \t\tif (val & PGLUE_B_PGLUE_B_INT_STS_REG_CSSNOOP_FIFO_OVERFLOW)\n-\t\t\tPMD_DRV_LOG(INFO,\n+\t\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t\t    \"ERROR: PGLUE_B_PGLUE_B_INT_STS_REG_CSSNOOP_FIFO_OVERFLOW\");\n \t}\n \n \tif (attn & AEU_INPUTS_ATTN_BITS_ATC_HW_INTERRUPT) {\n \t\tval = REG_RD(sc, ATC_REG_ATC_INT_STS_CLR);\n-\t\tPMD_DRV_LOG(INFO, \"ERROR: ATC hw attention 0x%08x\", val);\n+\t\tPMD_DRV_LOG(INFO, sc, \"ERROR: ATC hw attention 0x%08x\", val);\n \t\tif (val & ATC_ATC_INT_STS_REG_ADDRESS_ERROR)\n-\t\t\tPMD_DRV_LOG(INFO,\n+\t\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t\t    \"ERROR: ATC_ATC_INT_STS_REG_ADDRESS_ERROR\");\n \t\tif (val & ATC_ATC_INT_STS_REG_ATC_TCPL_TO_NOT_PEND)\n-\t\t\tPMD_DRV_LOG(INFO,\n+\t\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t\t    \"ERROR: ATC_ATC_INT_STS_REG_ATC_TCPL_TO_NOT_PEND\");\n \t\tif (val & ATC_ATC_INT_STS_REG_ATC_GPA_MULTIPLE_HITS)\n-\t\t\tPMD_DRV_LOG(INFO,\n+\t\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t\t    \"ERROR: ATC_ATC_INT_STS_REG_ATC_GPA_MULTIPLE_HITS\");\n \t\tif (val & ATC_ATC_INT_STS_REG_ATC_RCPL_TO_EMPTY_CNT)\n-\t\t\tPMD_DRV_LOG(INFO,\n+\t\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t\t    \"ERROR: ATC_ATC_INT_STS_REG_ATC_RCPL_TO_EMPTY_CNT\");\n \t\tif (val & ATC_ATC_INT_STS_REG_ATC_TCPL_ERROR)\n-\t\t\tPMD_DRV_LOG(INFO,\n+\t\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t\t    \"ERROR: ATC_ATC_INT_STS_REG_ATC_TCPL_ERROR\");\n \t\tif (val & ATC_ATC_INT_STS_REG_ATC_IREQ_LESS_THAN_STU)\n-\t\t\tPMD_DRV_LOG(INFO,\n+\t\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t\t    \"ERROR: ATC_ATC_INT_STS_REG_ATC_IREQ_LESS_THAN_STU\");\n \t}\n \n \tif (attn & (AEU_INPUTS_ATTN_BITS_PGLUE_PARITY_ERROR |\n \t\t    AEU_INPUTS_ATTN_BITS_ATC_PARITY_ERROR)) {\n-\t\tPMD_DRV_LOG(INFO,\n+\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t    \"ERROR: FATAL parity attention set4 0x%08x\",\n \t\t\t    (uint32_t) (attn &\n \t\t\t\t\t(AEU_INPUTS_ATTN_BITS_PGLUE_PARITY_ERROR\n@@ -3594,11 +3600,11 @@ static void bnx2x_dcc_event(struct bnx2x_softc *sc, uint32_t dcc_event)\n  */\n \t\tif (sc->devinfo.\n \t\t    mf_info.mf_config[SC_VN(sc)] & FUNC_MF_CFG_FUNC_DISABLED) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"mf_cfg function disabled\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"mf_cfg function disabled\");\n \t\t\tsc->flags |= BNX2X_MF_FUNC_DIS;\n \t\t\tbnx2x_e1h_disable(sc);\n \t\t} else {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"mf_cfg function enabled\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"mf_cfg function enabled\");\n \t\t\tsc->flags &= ~BNX2X_MF_FUNC_DIS;\n \t\t\tbnx2x_e1h_enable(sc);\n \t\t}\n@@ -3653,7 +3659,7 @@ static int bnx2x_mc_assert(struct bnx2x_softc *sc)\n \tlast_idx =\n \t    REG_RD8(sc, BAR_XSTRORM_INTMEM + XSTORM_ASSERT_LIST_INDEX_OFFSET);\n \tif (last_idx)\n-\t\tPMD_DRV_LOG(ERR, \"XSTORM_ASSERT_LIST_INDEX 0x%x\", last_idx);\n+\t\tPMD_DRV_LOG(ERR, sc, \"XSTORM_ASSERT_LIST_INDEX 0x%x\", last_idx);\n \n \t/* print the asserts */\n \tfor (i = 0; i < STORM_ASSERT_ARRAY_SIZE; i++) {\n@@ -3675,7 +3681,7 @@ static int bnx2x_mc_assert(struct bnx2x_softc *sc)\n \t\t\t   12);\n \n \t\tif (row0 != COMMON_ASM_INVALID_ASSERT_OPCODE) {\n-\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t    \"XSTORM_ASSERT_INDEX 0x%x = 0x%08x 0x%08x 0x%08x 0x%08x\",\n \t\t\t\t    i, row3, row2, row1, row0);\n \t\t\trc++;\n@@ -3688,7 +3694,7 @@ static int bnx2x_mc_assert(struct bnx2x_softc *sc)\n \tlast_idx =\n \t    REG_RD8(sc, BAR_TSTRORM_INTMEM + TSTORM_ASSERT_LIST_INDEX_OFFSET);\n \tif (last_idx) {\n-\t\tPMD_DRV_LOG(ERR, \"TSTORM_ASSERT_LIST_INDEX 0x%x\", last_idx);\n+\t\tPMD_DRV_LOG(ERR, sc, \"TSTORM_ASSERT_LIST_INDEX 0x%x\", last_idx);\n \t}\n \n \t/* print the asserts */\n@@ -3711,7 +3717,7 @@ static int bnx2x_mc_assert(struct bnx2x_softc *sc)\n \t\t\t   12);\n \n \t\tif (row0 != COMMON_ASM_INVALID_ASSERT_OPCODE) {\n-\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t    \"TSTORM_ASSERT_INDEX 0x%x = 0x%08x 0x%08x 0x%08x 0x%08x\",\n \t\t\t\t    i, row3, row2, row1, row0);\n \t\t\trc++;\n@@ -3724,7 +3730,7 @@ static int bnx2x_mc_assert(struct bnx2x_softc *sc)\n \tlast_idx =\n \t    REG_RD8(sc, BAR_CSTRORM_INTMEM + CSTORM_ASSERT_LIST_INDEX_OFFSET);\n \tif (last_idx) {\n-\t\tPMD_DRV_LOG(ERR, \"CSTORM_ASSERT_LIST_INDEX 0x%x\", last_idx);\n+\t\tPMD_DRV_LOG(ERR, sc, \"CSTORM_ASSERT_LIST_INDEX 0x%x\", last_idx);\n \t}\n \n \t/* print the asserts */\n@@ -3747,7 +3753,7 @@ static int bnx2x_mc_assert(struct bnx2x_softc *sc)\n \t\t\t   12);\n \n \t\tif (row0 != COMMON_ASM_INVALID_ASSERT_OPCODE) {\n-\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t    \"CSTORM_ASSERT_INDEX 0x%x = 0x%08x 0x%08x 0x%08x 0x%08x\",\n \t\t\t\t    i, row3, row2, row1, row0);\n \t\t\trc++;\n@@ -3760,7 +3766,7 @@ static int bnx2x_mc_assert(struct bnx2x_softc *sc)\n \tlast_idx =\n \t    REG_RD8(sc, BAR_USTRORM_INTMEM + USTORM_ASSERT_LIST_INDEX_OFFSET);\n \tif (last_idx) {\n-\t\tPMD_DRV_LOG(ERR, \"USTORM_ASSERT_LIST_INDEX 0x%x\", last_idx);\n+\t\tPMD_DRV_LOG(ERR, sc, \"USTORM_ASSERT_LIST_INDEX 0x%x\", last_idx);\n \t}\n \n \t/* print the asserts */\n@@ -3783,7 +3789,7 @@ static int bnx2x_mc_assert(struct bnx2x_softc *sc)\n \t\t\t   12);\n \n \t\tif (row0 != COMMON_ASM_INVALID_ASSERT_OPCODE) {\n-\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t    \"USTORM_ASSERT_INDEX 0x%x = 0x%08x 0x%08x 0x%08x 0x%08x\",\n \t\t\t\t    i, row3, row2, row1, row0);\n \t\t\trc++;\n@@ -3848,7 +3854,7 @@ static void bnx2x_attn_int_deasserted3(struct bnx2x_softc *sc, uint32_t attn)\n \n \t\t} else if (attn & BNX2X_MC_ASSERT_BITS) {\n \n-\t\t\tPMD_DRV_LOG(ERR, \"MC assert!\");\n+\t\t\tPMD_DRV_LOG(ERR, sc, \"MC assert!\");\n \t\t\tbnx2x_mc_assert(sc);\n \t\t\tREG_WR(sc, MISC_REG_AEU_GENERAL_ATTN_10, 0);\n \t\t\tREG_WR(sc, MISC_REG_AEU_GENERAL_ATTN_9, 0);\n@@ -3858,24 +3864,24 @@ static void bnx2x_attn_int_deasserted3(struct bnx2x_softc *sc, uint32_t attn)\n \n \t\t} else if (attn & BNX2X_MCP_ASSERT) {\n \n-\t\t\tPMD_DRV_LOG(ERR, \"MCP assert!\");\n+\t\t\tPMD_DRV_LOG(ERR, sc, \"MCP assert!\");\n \t\t\tREG_WR(sc, MISC_REG_AEU_GENERAL_ATTN_11, 0);\n \n \t\t} else {\n-\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t    \"Unknown HW assert! (attn 0x%08x)\", attn);\n \t\t}\n \t}\n \n \tif (attn & EVEREST_LATCHED_ATTN_IN_USE_MASK) {\n-\t\tPMD_DRV_LOG(ERR, \"LATCHED attention 0x%08x (masked)\", attn);\n+\t\tPMD_DRV_LOG(ERR, sc, \"LATCHED attention 0x%08x (masked)\", attn);\n \t\tif (attn & BNX2X_GRC_TIMEOUT) {\n \t\t\tval = REG_RD(sc, MISC_REG_GRC_TIMEOUT_ATTN);\n-\t\t\tPMD_DRV_LOG(ERR, \"GRC time-out 0x%08x\", val);\n+\t\t\tPMD_DRV_LOG(ERR, sc, \"GRC time-out 0x%08x\", val);\n \t\t}\n \t\tif (attn & BNX2X_GRC_RSV) {\n \t\t\tval = REG_RD(sc, MISC_REG_GRC_RSV_ATTN);\n-\t\t\tPMD_DRV_LOG(ERR, \"GRC reserved 0x%08x\", val);\n+\t\t\tPMD_DRV_LOG(ERR, sc, \"GRC reserved 0x%08x\", val);\n \t\t}\n \t\tREG_WR(sc, MISC_REG_AEU_CLR_LATCH_SIGNAL, 0x7ff);\n \t}\n@@ -3890,24 +3896,24 @@ static void bnx2x_attn_int_deasserted2(struct bnx2x_softc *sc, uint32_t attn)\n \n \tif (attn & AEU_INPUTS_ATTN_BITS_CFC_HW_INTERRUPT) {\n \t\tval = REG_RD(sc, CFC_REG_CFC_INT_STS_CLR);\n-\t\tPMD_DRV_LOG(ERR, \"CFC hw attention 0x%08x\", val);\n+\t\tPMD_DRV_LOG(ERR, sc, \"CFC hw attention 0x%08x\", val);\n /* CFC error attention */\n \t\tif (val & 0x2) {\n-\t\t\tPMD_DRV_LOG(ERR, \"FATAL error from CFC\");\n+\t\t\tPMD_DRV_LOG(ERR, sc, \"FATAL error from CFC\");\n \t\t}\n \t}\n \n \tif (attn & AEU_INPUTS_ATTN_BITS_PXP_HW_INTERRUPT) {\n \t\tval = REG_RD(sc, PXP_REG_PXP_INT_STS_CLR_0);\n-\t\tPMD_DRV_LOG(ERR, \"PXP hw attention-0 0x%08x\", val);\n+\t\tPMD_DRV_LOG(ERR, sc, \"PXP hw attention-0 0x%08x\", val);\n /* RQ_USDMDP_FIFO_OVERFLOW */\n \t\tif (val & 0x18000) {\n-\t\t\tPMD_DRV_LOG(ERR, \"FATAL error from PXP\");\n+\t\t\tPMD_DRV_LOG(ERR, sc, \"FATAL error from PXP\");\n \t\t}\n \n \t\tif (!CHIP_IS_E1x(sc)) {\n \t\t\tval = REG_RD(sc, PXP_REG_PXP_INT_STS_CLR_1);\n-\t\t\tPMD_DRV_LOG(ERR, \"PXP hw attention-1 0x%08x\", val);\n+\t\t\tPMD_DRV_LOG(ERR, sc, \"PXP hw attention-1 0x%08x\", val);\n \t\t}\n \t}\n #define PXP2_EOP_ERROR_BIT  PXP2_PXP2_INT_STS_CLR_0_REG_WR_PGLUE_EOP_ERROR\n@@ -3935,7 +3941,7 @@ static void bnx2x_attn_int_deasserted2(struct bnx2x_softc *sc, uint32_t attn)\n \t\t\t\tval0 = REG_RD(sc, PXP2_REG_PXP2_INT_STS_CLR_0);\n \n \t\t\t/* print the register, since no one can restore it */\n-\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t    \"PXP2_REG_PXP2_INT_STS_CLR_0 0x%08x\", val0);\n \n \t\t\t/*\n@@ -3943,7 +3949,7 @@ static void bnx2x_attn_int_deasserted2(struct bnx2x_softc *sc, uint32_t attn)\n \t\t\t * then notify\n \t\t\t */\n \t\t\tif (val0 & PXP2_EOP_ERROR_BIT) {\n-\t\t\t\tPMD_DRV_LOG(ERR, \"PXP2_WR_PGLUE_EOP_ERROR\");\n+\t\t\t\tPMD_DRV_LOG(ERR, sc, \"PXP2_WR_PGLUE_EOP_ERROR\");\n \n \t\t\t\t/*\n \t\t\t\t * if only PXP2_PXP2_INT_STS_0_REG_WR_PGLUE_EOP_ERROR is\n@@ -3964,7 +3970,7 @@ static void bnx2x_attn_int_deasserted2(struct bnx2x_softc *sc, uint32_t attn)\n \t\tval &= ~(attn & HW_INTERRUT_ASSERT_SET_2);\n \t\tREG_WR(sc, reg_offset, val);\n \n-\t\tPMD_DRV_LOG(ERR,\n+\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t    \"FATAL HW block attention set2 0x%x\",\n \t\t\t    (uint32_t) (attn & HW_INTERRUT_ASSERT_SET_2));\n \t\trte_panic(\"HW block attention set2\");\n@@ -3979,10 +3985,10 @@ static void bnx2x_attn_int_deasserted1(struct bnx2x_softc *sc, uint32_t attn)\n \n \tif (attn & AEU_INPUTS_ATTN_BITS_DOORBELLQ_HW_INTERRUPT) {\n \t\tval = REG_RD(sc, DORQ_REG_DORQ_INT_STS_CLR);\n-\t\tPMD_DRV_LOG(ERR, \"DB hw attention 0x%08x\", val);\n+\t\tPMD_DRV_LOG(ERR, sc, \"DB hw attention 0x%08x\", val);\n /* DORQ discard attention */\n \t\tif (val & 0x2) {\n-\t\t\tPMD_DRV_LOG(ERR, \"FATAL error from DORQ\");\n+\t\t\tPMD_DRV_LOG(ERR, sc, \"FATAL error from DORQ\");\n \t\t}\n \t}\n \n@@ -3994,7 +4000,7 @@ static void bnx2x_attn_int_deasserted1(struct bnx2x_softc *sc, uint32_t attn)\n \t\tval &= ~(attn & HW_INTERRUT_ASSERT_SET_1);\n \t\tREG_WR(sc, reg_offset, val);\n \n-\t\tPMD_DRV_LOG(ERR,\n+\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t    \"FATAL HW block attention set1 0x%08x\",\n \t\t\t    (uint32_t) (attn & HW_INTERRUT_ASSERT_SET_1));\n \t\trte_panic(\"HW block attention set1\");\n@@ -4015,7 +4021,7 @@ static void bnx2x_attn_int_deasserted0(struct bnx2x_softc *sc, uint32_t attn)\n \t\tval &= ~AEU_INPUTS_ATTN_BITS_SPIO5;\n \t\tREG_WR(sc, reg_offset, val);\n \n-\t\tPMD_DRV_LOG(WARNING, \"SPIO5 hw attention\");\n+\t\tPMD_DRV_LOG(WARNING, sc, \"SPIO5 hw attention\");\n \n /* Fan failure attention */\n \t\telink_hw_reset_phy(&sc->link_params);\n@@ -4105,14 +4111,14 @@ static void bnx2x_attn_int_deasserted(struct bnx2x_softc *sc, uint32_t deasserte\n \t}\n \n \tval = ~deasserted;\n-\tPMD_DRV_LOG(DEBUG,\n+\tPMD_DRV_LOG(DEBUG, sc,\n \t\t    \"about to mask 0x%08x at %s addr 0x%08x\", val,\n \t\t    (sc->devinfo.int_block == INT_BLOCK_HC) ? \"HC\" : \"IGU\",\n \t\t    reg_addr);\n \tREG_WR(sc, reg_addr, val);\n \n \tif (~sc->attn_state & deasserted) {\n-\t\tPMD_DRV_LOG(ERR, \"IGU error\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"IGU error\");\n \t}\n \n \treg_addr = port ? MISC_REG_AEU_MASK_ATTN_FUNC_1 :\n@@ -4142,12 +4148,12 @@ static void bnx2x_attn_int(struct bnx2x_softc *sc)\n \tuint32_t asserted = attn_bits & ~attn_ack & ~attn_state;\n \tuint32_t deasserted = ~attn_bits & attn_ack & attn_state;\n \n-\tPMD_DRV_LOG(DEBUG,\n+\tPMD_DRV_LOG(DEBUG, sc,\n \t\t    \"attn_bits 0x%08x attn_ack 0x%08x asserted 0x%08x deasserted 0x%08x\",\n \t\t    attn_bits, attn_ack, asserted, deasserted);\n \n \tif (~(attn_bits ^ attn_ack) & (attn_bits ^ attn_state)) {\n-\t\tPMD_DRV_LOG(ERR, \"BAD attention state\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"BAD attention state\");\n \t}\n \n \t/* handle bits that were raised */\n@@ -4204,7 +4210,7 @@ static void bnx2x_handle_mcast_eqe(struct bnx2x_softc *sc)\n \tif (sc->mcast_obj.check_pending(&sc->mcast_obj)) {\n \t\trc = ecore_config_mcast(sc, &rparam, ECORE_MCAST_CMD_CONT);\n \t\tif (rc < 0) {\n-\t\t\tPMD_DRV_LOG(INFO,\n+\t\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t\t    \"Failed to send pending mcast commands (%d)\",\n \t\t\t\t    rc);\n \t\t}\n@@ -4224,17 +4230,17 @@ static void bnx2x_handle_mcast_eqe(struct bnx2x_softc *sc)\n \n \tswitch (le32toh(elem->message.data.eth_event.echo) >> BNX2X_SWCID_SHIFT) {\n \tcase ECORE_FILTER_MAC_PENDING:\n-\t\tPMD_DRV_LOG(DEBUG, \"Got SETUP_MAC completions\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Got SETUP_MAC completions\");\n \t\tvlan_mac_obj = &sc->sp_objs[cid].mac_obj;\n \t\tbreak;\n \n \tcase ECORE_FILTER_MCAST_PENDING:\n-\t\tPMD_DRV_LOG(DEBUG, \"Got SETUP_MCAST completions\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Got SETUP_MCAST completions\");\n \t\tbnx2x_handle_mcast_eqe(sc);\n \t\treturn;\n \n \tdefault:\n-\t\tPMD_DRV_LOG(NOTICE, \"Unsupported classification command: %d\",\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Unsupported classification command: %d\",\n \t\t\t    elem->message.data.eth_event.echo);\n \t\treturn;\n \t}\n@@ -4242,9 +4248,10 @@ static void bnx2x_handle_mcast_eqe(struct bnx2x_softc *sc)\n \trc = vlan_mac_obj->complete(sc, vlan_mac_obj, elem, &ramrod_flags);\n \n \tif (rc < 0) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Failed to schedule new commands (%d)\", rc);\n+\t\tPMD_DRV_LOG(NOTICE, sc,\n+\t\t\t    \"Failed to schedule new commands (%d)\", rc);\n \t} else if (rc > 0) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Scheduled next pending commands...\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Scheduled next pending commands...\");\n \t}\n }\n \n@@ -4308,7 +4315,7 @@ static void bnx2x_eq_int(struct bnx2x_softc *sc)\n /* handle eq element */\n \t\tswitch (opcode) {\n \t\tcase EVENT_RING_OPCODE_STAT_QUERY:\n-\t\t\tPMD_DEBUG_PERIODIC_LOG(DEBUG, \"got statistics completion event %d\",\n+\t\t\tPMD_DEBUG_PERIODIC_LOG(DEBUG, sc, \"got statistics completion event %d\",\n \t\t\t\t    sc->stats_comp++);\n \t\t\t/* nothing to do with stats comp */\n \t\t\tgoto next_spqe;\n@@ -4316,7 +4323,7 @@ static void bnx2x_eq_int(struct bnx2x_softc *sc)\n \t\tcase EVENT_RING_OPCODE_CFC_DEL:\n \t\t\t/* handle according to cid range */\n \t\t\t/* we may want to verify here that the sc state is HALTING */\n-\t\t\tPMD_DRV_LOG(DEBUG, \"got delete ramrod for MULTI[%d]\",\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"got delete ramrod for MULTI[%d]\",\n \t\t\t\t    cid);\n \t\t\tq_obj = bnx2x_cid_to_q_obj(sc, cid);\n \t\t\tif (q_obj->complete_cmd(sc, q_obj, ECORE_Q_CMD_CFC_DEL)) {\n@@ -4325,14 +4332,14 @@ static void bnx2x_eq_int(struct bnx2x_softc *sc)\n \t\t\tgoto next_spqe;\n \n \t\tcase EVENT_RING_OPCODE_STOP_TRAFFIC:\n-\t\t\tPMD_DRV_LOG(DEBUG, \"got STOP TRAFFIC\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"got STOP TRAFFIC\");\n \t\t\tif (f_obj->complete_cmd(sc, f_obj, ECORE_F_CMD_TX_STOP)) {\n \t\t\t\tbreak;\n \t\t\t}\n \t\t\tgoto next_spqe;\n \n \t\tcase EVENT_RING_OPCODE_START_TRAFFIC:\n-\t\t\tPMD_DRV_LOG(DEBUG, \"got START TRAFFIC\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"got START TRAFFIC\");\n \t\t\tif (f_obj->complete_cmd\n \t\t\t    (sc, f_obj, ECORE_F_CMD_TX_START)) {\n \t\t\t\tbreak;\n@@ -4342,7 +4349,7 @@ static void bnx2x_eq_int(struct bnx2x_softc *sc)\n \t\tcase EVENT_RING_OPCODE_FUNCTION_UPDATE:\n \t\t\techo = elem->message.data.function_update_event.echo;\n \t\t\tif (echo == SWITCH_UPDATE) {\n-\t\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t\t    \"got FUNC_SWITCH_UPDATE ramrod\");\n \t\t\t\tif (f_obj->complete_cmd(sc, f_obj,\n \t\t\t\t\t\t\tECORE_F_CMD_SWITCH_UPDATE))\n@@ -4350,7 +4357,7 @@ static void bnx2x_eq_int(struct bnx2x_softc *sc)\n \t\t\t\t\tbreak;\n \t\t\t\t}\n \t\t\t} else {\n-\t\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t\t    \"AFEX: ramrod completed FUNCTION_UPDATE\");\n \t\t\t\tf_obj->complete_cmd(sc, f_obj,\n \t\t\t\t\t\t    ECORE_F_CMD_AFEX_UPDATE);\n@@ -4366,14 +4373,14 @@ static void bnx2x_eq_int(struct bnx2x_softc *sc)\n \t\t\tgoto next_spqe;\n \n \t\tcase EVENT_RING_OPCODE_FUNCTION_START:\n-\t\t\tPMD_DRV_LOG(DEBUG, \"got FUNC_START ramrod\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"got FUNC_START ramrod\");\n \t\t\tif (f_obj->complete_cmd(sc, f_obj, ECORE_F_CMD_START)) {\n \t\t\t\tbreak;\n \t\t\t}\n \t\t\tgoto next_spqe;\n \n \t\tcase EVENT_RING_OPCODE_FUNCTION_STOP:\n-\t\t\tPMD_DRV_LOG(DEBUG, \"got FUNC_STOP ramrod\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"got FUNC_STOP ramrod\");\n \t\t\tif (f_obj->complete_cmd(sc, f_obj, ECORE_F_CMD_STOP)) {\n \t\t\t\tbreak;\n \t\t\t}\n@@ -4385,7 +4392,7 @@ static void bnx2x_eq_int(struct bnx2x_softc *sc)\n \t\tcase (EVENT_RING_OPCODE_RSS_UPDATE_RULES | BNX2X_STATE_OPENING_WAITING_PORT):\n \t\t\tcid =\n \t\t\t    elem->message.data.eth_event.echo & BNX2X_SWCID_MASK;\n-\t\t\tPMD_DRV_LOG(DEBUG, \"got RSS_UPDATE ramrod. CID %d\",\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"got RSS_UPDATE ramrod. CID %d\",\n \t\t\t\t    cid);\n \t\t\trss_raw->clear_pending(rss_raw);\n \t\t\tbreak;\n@@ -4396,7 +4403,7 @@ static void bnx2x_eq_int(struct bnx2x_softc *sc)\n \t\tcase (EVENT_RING_OPCODE_CLASSIFICATION_RULES | BNX2X_STATE_OPEN):\n \t\tcase (EVENT_RING_OPCODE_CLASSIFICATION_RULES | BNX2X_STATE_DIAG):\n \t\tcase (EVENT_RING_OPCODE_CLASSIFICATION_RULES | BNX2X_STATE_CLOSING_WAITING_HALT):\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t    \"got (un)set mac ramrod\");\n \t\t\tbnx2x_handle_classification_eqe(sc, elem);\n \t\t\tbreak;\n@@ -4404,7 +4411,7 @@ static void bnx2x_eq_int(struct bnx2x_softc *sc)\n \t\tcase (EVENT_RING_OPCODE_MULTICAST_RULES | BNX2X_STATE_OPEN):\n \t\tcase (EVENT_RING_OPCODE_MULTICAST_RULES | BNX2X_STATE_DIAG):\n \t\tcase (EVENT_RING_OPCODE_MULTICAST_RULES | BNX2X_STATE_CLOSING_WAITING_HALT):\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t    \"got mcast ramrod\");\n \t\t\tbnx2x_handle_mcast_eqe(sc);\n \t\t\tbreak;\n@@ -4412,14 +4419,14 @@ static void bnx2x_eq_int(struct bnx2x_softc *sc)\n \t\tcase (EVENT_RING_OPCODE_FILTERS_RULES | BNX2X_STATE_OPEN):\n \t\tcase (EVENT_RING_OPCODE_FILTERS_RULES | BNX2X_STATE_DIAG):\n \t\tcase (EVENT_RING_OPCODE_FILTERS_RULES | BNX2X_STATE_CLOSING_WAITING_HALT):\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t    \"got rx_mode ramrod\");\n \t\t\tbnx2x_handle_rx_mode_eqe(sc);\n \t\t\tbreak;\n \n \t\tdefault:\n \t\t\t/* unknown event log error and continue */\n-\t\t\tPMD_DRV_LOG(INFO, \"Unknown EQ event %d, sc->state 0x%x\",\n+\t\t\tPMD_DRV_LOG(INFO, sc, \"Unknown EQ event %d, sc->state 0x%x\",\n \t\t\t\t    elem->message.opcode, sc->state);\n \t\t}\n \n@@ -4445,12 +4452,16 @@ static int bnx2x_handle_sp_tq(struct bnx2x_softc *sc)\n \tuint16_t status;\n \tint rc = 0;\n \n+\tPMD_DRV_LOG(DEBUG, sc, \"---> SP TASK <---\");\n+\n \t/* what work needs to be performed? */\n \tstatus = bnx2x_update_dsb_idx(sc);\n \n+\tPMD_DRV_LOG(DEBUG, sc, \"dsb status 0x%04x\", status);\n+\n \t/* HW attentions */\n \tif (status & BNX2X_DEF_SB_ATT_IDX) {\n-\t\tPMD_DRV_LOG(DEBUG, \"---> ATTN INTR <---\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"---> ATTN INTR <---\");\n \t\tbnx2x_attn_int(sc);\n \t\tstatus &= ~BNX2X_DEF_SB_ATT_IDX;\n \t\trc = 1;\n@@ -4459,7 +4470,7 @@ static int bnx2x_handle_sp_tq(struct bnx2x_softc *sc)\n \t/* SP events: STAT_QUERY and others */\n \tif (status & BNX2X_DEF_SB_IDX) {\n /* handle EQ completions */\n-\t\tPMD_DEBUG_PERIODIC_LOG(DEBUG, \"---> EQ INTR <---\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"---> EQ INTR <---\");\n \t\tbnx2x_eq_int(sc);\n \t\tbnx2x_ack_sb(sc, sc->igu_dsb_id, USTORM_ID,\n \t\t\t   le16toh(sc->def_idx), IGU_INT_NOP, 1);\n@@ -4468,7 +4479,7 @@ static int bnx2x_handle_sp_tq(struct bnx2x_softc *sc)\n \n \t/* if status is non zero then something went wrong */\n \tif (unlikely(status)) {\n-\t\tPMD_DRV_LOG(INFO,\n+\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t    \"Got an unknown SP interrupt! (0x%04x)\", status);\n \t}\n \n@@ -4484,7 +4495,8 @@ static void bnx2x_handle_fp_tq(struct bnx2x_fastpath *fp, int scan_fp)\n \tstruct bnx2x_softc *sc = fp->sc;\n \tuint8_t more_rx = FALSE;\n \n-\tPMD_DRV_LOG(DEBUG, \"---> FP TASK QUEUE (%d) <--\", fp->index);\n+\tPMD_DEBUG_PERIODIC_LOG(DEBUG, sc,\n+\t\t\t       \"---> FP TASK QUEUE (%d) <--\", fp->index);\n \n \t/* update the fastpath index */\n \tbnx2x_update_fp_sb_idx(fp);\n@@ -4534,7 +4546,7 @@ int bnx2x_intr_legacy(struct bnx2x_softc *sc, int scan_fp)\n \t\treturn 0;\n \t}\n \n-\tPMD_DEBUG_PERIODIC_LOG(DEBUG, \"Interrupt status 0x%04x\", status);\n+\tPMD_DEBUG_PERIODIC_LOG(DEBUG, sc, \"Interrupt status 0x%04x\", status);\n \t//bnx2x_dump_status_block(sc);\n \n \tFOR_EACH_ETH_QUEUE(sc, i) {\n@@ -4552,7 +4564,7 @@ int bnx2x_intr_legacy(struct bnx2x_softc *sc, int scan_fp)\n \t}\n \n \tif (unlikely(status)) {\n-\t\tPMD_DRV_LOG(WARNING,\n+\t\tPMD_DRV_LOG(WARNING, sc,\n \t\t\t    \"Unexpected fastpath status (0x%08x)!\", status);\n \t}\n \n@@ -4588,7 +4600,7 @@ static void bnx2x_init_func_obj(struct bnx2x_softc *sc)\n {\n \tsc->dmae_ready = 0;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \tecore_init_func_obj(sc,\n \t\t\t    &sc->func_obj,\n@@ -4604,7 +4616,7 @@ static int bnx2x_init_hw(struct bnx2x_softc *sc, uint32_t load_code)\n \tstruct ecore_func_state_params func_params = { NULL };\n \tint rc;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \t/* prepare the parameters for function state transitions */\n \tbnx2x_set_bit(RAMROD_COMP_WAIT, &func_params.ramrod_flags);\n@@ -5193,7 +5205,7 @@ static void bnx2x_init_internal(struct bnx2x_softc *sc, uint32_t load_code)\n \t\tbreak;\n \n \tdefault:\n-\t\tPMD_DRV_LOG(NOTICE, \"Unknown load_code (0x%x) from MCP\",\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Unknown load_code (0x%x) from MCP\",\n \t\t\t    load_code);\n \t\tbreak;\n \t}\n@@ -5284,7 +5296,7 @@ static void bnx2x_calc_vn_min(struct bnx2x_softc *sc, struct cmng_init_input *in\n \t\t\t    FUNC_MF_CFG_MAX_BW_SHIFT);\n \n \tif (!max_cfg) {\n-\t\tPMD_DRV_LOG(DEBUG,\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t    \"Max BW configured to 0 - using 100 instead\");\n \t\tmax_cfg = 100;\n \t}\n@@ -5548,7 +5560,7 @@ static void bnx2x_igu_int_enable(struct bnx2x_softc *sc)\n \n \tval |= IGU_PF_CONF_FUNC_EN;\n \n-\tPMD_DRV_LOG(DEBUG, \"write 0x%x to IGU mode %s\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"write 0x%x to IGU mode %s\",\n \t\t    val, ((msix) ? \"MSI-X\" : ((msi) ? \"MSI\" : \"INTx\")));\n \n \tREG_WR(sc, IGU_REG_PF_CONFIGURATION, val);\n@@ -5596,7 +5608,7 @@ static void bnx2x_hc_int_disable(struct bnx2x_softc *sc)\n \n \tREG_WR(sc, addr, val);\n \tif (REG_RD(sc, addr) != val) {\n-\t\tPMD_DRV_LOG(ERR, \"proper val not read from HC IGU!\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"proper val not read from HC IGU!\");\n \t}\n }\n \n@@ -5607,14 +5619,14 @@ static void bnx2x_igu_int_disable(struct bnx2x_softc *sc)\n \tval &= ~(IGU_PF_CONF_MSI_MSIX_EN |\n \t\t IGU_PF_CONF_INT_LINE_EN | IGU_PF_CONF_ATTN_BIT_EN);\n \n-\tPMD_DRV_LOG(DEBUG, \"write %x to IGU\", val);\n+\tPMD_DRV_LOG(DEBUG, sc, \"write %x to IGU\", val);\n \n \t/* flush all outstanding writes */\n \tmb();\n \n \tREG_WR(sc, IGU_REG_PF_CONFIGURATION, val);\n \tif (REG_RD(sc, IGU_REG_PF_CONFIGURATION) != val) {\n-\t\tPMD_DRV_LOG(ERR, \"proper val not read from IGU!\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"proper val not read from IGU!\");\n \t}\n }\n \n@@ -5631,7 +5643,7 @@ static void bnx2x_nic_init(struct bnx2x_softc *sc, int load_code)\n {\n \tint i;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \tfor (i = 0; i < sc->num_queues; i++) {\n \t\tbnx2x_init_eth_fp(sc, i);\n@@ -5761,7 +5773,7 @@ static int bnx2x_set_power_state(struct bnx2x_softc *sc, uint8_t state)\n \n \t/* If there is no power capability, silently succeed */\n \tif (!(sc->devinfo.pcie_cap_flags & BNX2X_PM_CAPABLE_FLAG)) {\n-\t\tPMD_DRV_LOG(WARNING, \"No power capability\");\n+\t\tPMD_DRV_LOG(WARNING, sc, \"No power capability\");\n \t\treturn 0;\n \t}\n \n@@ -5806,7 +5818,7 @@ static int bnx2x_set_power_state(struct bnx2x_softc *sc, uint8_t state)\n \t\tbreak;\n \n \tdefault:\n-\t\tPMD_DRV_LOG(NOTICE, \"Can't support PCI power state = %d\",\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Can't support PCI power state = %d\",\n \t\t\t    state);\n \t\treturn -1;\n \t}\n@@ -5824,7 +5836,7 @@ static uint8_t bnx2x_trylock_hw_lock(struct bnx2x_softc *sc, uint32_t resource)\n \n \t/* Validating that the resource is within range */\n \tif (resource > HW_LOCK_MAX_RESOURCE_VALUE) {\n-\t\tPMD_DRV_LOG(INFO,\n+\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t    \"resource(0x%x) > HW_LOCK_MAX_RESOURCE_VALUE(0x%x)\",\n \t\t\t    resource, HW_LOCK_MAX_RESOURCE_VALUE);\n \t\treturn FALSE;\n@@ -5844,7 +5856,7 @@ static uint8_t bnx2x_trylock_hw_lock(struct bnx2x_softc *sc, uint32_t resource)\n \t\treturn TRUE;\n \t}\n \n-\tPMD_DRV_LOG(NOTICE, \"Failed to get a resource lock 0x%x\", resource);\n+\tPMD_DRV_LOG(NOTICE, sc, \"Failed to get a resource lock 0x%x\", resource);\n \n \treturn FALSE;\n }\n@@ -5937,7 +5949,7 @@ static int bnx2x_er_poll_igu_vq(struct bnx2x_softc *sc)\n \t} while (cnt-- > 0);\n \n \tif (cnt <= 0) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Still pending IGU requests bits=0x%08x!\",\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Still pending IGU requests bits=0x%08x!\",\n \t\t\t    pend_bits);\n \t\treturn -1;\n \t}\n@@ -6018,7 +6030,7 @@ static int bnx2x_init_shmem(struct bnx2x_softc *sc)\n \n \t} while (cnt++ < (MCP_TIMEOUT / MCP_ONE_TIMEOUT));\n \n-\tPMD_DRV_LOG(NOTICE, \"BAD MCP validity signature\");\n+\tPMD_DRV_LOG(NOTICE, sc, \"BAD MCP validity signature\");\n \n \treturn -1;\n }\n@@ -6173,7 +6185,7 @@ static int bnx2x_process_kill(struct bnx2x_softc *sc, uint8_t global)\n \t} while (cnt-- > 0);\n \n \tif (cnt <= 0) {\n-\t\tPMD_DRV_LOG(NOTICE,\n+\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t    \"ERROR: Tetris buffer didn't get empty or there \"\n \t\t\t    \"are still outstanding read requests after 1s! \"\n \t\t\t    \"sr_cnt=0x%08x, blk_cnt=0x%08x, port_is_idle_0=0x%08x, \"\n@@ -6246,14 +6258,14 @@ static int bnx2x_leader_reset(struct bnx2x_softc *sc)\n \t\tload_code = bnx2x_fw_command(sc, DRV_MSG_CODE_LOAD_REQ,\n \t\t\t\t\t   DRV_MSG_CODE_LOAD_REQ_WITH_LFA);\n \t\tif (!load_code) {\n-\t\t\tPMD_DRV_LOG(NOTICE, \"MCP response failure, aborting\");\n+\t\t\tPMD_DRV_LOG(NOTICE, sc, \"MCP response failure, aborting\");\n \t\t\trc = -1;\n \t\t\tgoto exit_leader_reset;\n \t\t}\n \n \t\tif ((load_code != FW_MSG_CODE_DRV_LOAD_COMMON_CHIP) &&\n \t\t    (load_code != FW_MSG_CODE_DRV_LOAD_COMMON)) {\n-\t\t\tPMD_DRV_LOG(NOTICE,\n+\t\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t\t    \"MCP unexpected response, aborting\");\n \t\t\trc = -1;\n \t\t\tgoto exit_leader_reset2;\n@@ -6261,7 +6273,7 @@ static int bnx2x_leader_reset(struct bnx2x_softc *sc)\n \n \t\tload_code = bnx2x_fw_command(sc, DRV_MSG_CODE_LOAD_DONE, 0);\n \t\tif (!load_code) {\n-\t\t\tPMD_DRV_LOG(NOTICE, \"MCP response failure, aborting\");\n+\t\t\tPMD_DRV_LOG(NOTICE, sc, \"MCP response failure, aborting\");\n \t\t\trc = -1;\n \t\t\tgoto exit_leader_reset2;\n \t\t}\n@@ -6269,7 +6281,7 @@ static int bnx2x_leader_reset(struct bnx2x_softc *sc)\n \n \t/* try to recover after the failure */\n \tif (bnx2x_process_kill(sc, global)) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Something bad occurred on engine %d!\",\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Something bad occurred on engine %d!\",\n \t\t\t    SC_PATH(sc));\n \t\trc = -1;\n \t\tgoto exit_leader_reset2;\n@@ -6428,12 +6440,12 @@ static unsigned long bnx2x_get_q_flags(struct bnx2x_softc *sc, uint8_t leading)\n \t/* validate rings have enough entries to cross high thresholds */\n \tif (sc->dropless_fc &&\n \t    pause->bd_th_hi + FW_PREFETCH_CNT > sc->rx_ring_size) {\n-\t\tPMD_DRV_LOG(WARNING, \"rx bd ring threshold limit\");\n+\t\tPMD_DRV_LOG(WARNING, sc, \"rx bd ring threshold limit\");\n \t}\n \n \tif (sc->dropless_fc &&\n \t    pause->rcq_th_hi + FW_PREFETCH_CNT > USABLE_RCQ_ENTRIES(rxq)) {\n-\t\tPMD_DRV_LOG(WARNING, \"rcq ring threshold limit\");\n+\t\tPMD_DRV_LOG(WARNING, sc, \"rcq ring threshold limit\");\n \t}\n \n \tpause->pri_map = 1;\n@@ -6504,7 +6516,7 @@ static unsigned long bnx2x_get_q_flags(struct bnx2x_softc *sc, uint8_t leading)\n \tstruct ecore_queue_setup_params *setup_params = &q_params.params.setup;\n \tint rc;\n \n-\tPMD_DRV_LOG(DEBUG, \"setting up queue %d\", fp->index);\n+\tPMD_DRV_LOG(DEBUG, sc, \"setting up queue %d\", fp->index);\n \n \tbnx2x_ack_sb(sc, fp->igu_sb_id, USTORM_ID, 0, IGU_INT_ENABLE, 0);\n \n@@ -6522,11 +6534,11 @@ static unsigned long bnx2x_get_q_flags(struct bnx2x_softc *sc, uint8_t leading)\n \t/* Change the state to INIT */\n \trc = ecore_queue_state_change(sc, &q_params);\n \tif (rc) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Queue(%d) INIT failed\", fp->index);\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Queue(%d) INIT failed\", fp->index);\n \t\treturn rc;\n \t}\n \n-\tPMD_DRV_LOG(DEBUG, \"init complete\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"init complete\");\n \n \t/* now move the Queue to the SETUP state */\n \tmemset(setup_params, 0, sizeof(*setup_params));\n@@ -6550,7 +6562,7 @@ static unsigned long bnx2x_get_q_flags(struct bnx2x_softc *sc, uint8_t leading)\n \t/* change the state to SETUP */\n \trc = ecore_queue_state_change(sc, &q_params);\n \tif (rc) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Queue(%d) SETUP failed\", fp->index);\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Queue(%d) SETUP failed\", fp->index);\n \t\treturn rc;\n \t}\n \n@@ -6678,11 +6690,11 @@ static int bnx2x_init_rss_pf(struct bnx2x_softc *sc)\n \trc = ecore_config_vlan_mac(sc, &ramrod_param);\n \n \tif (rc == ECORE_EXISTS) {\n-\t\tPMD_DRV_LOG(INFO, \"Failed to schedule ADD operations (EEXIST)\");\n+\t\tPMD_DRV_LOG(INFO, sc, \"Failed to schedule ADD operations (EEXIST)\");\n /* do not treat adding same MAC as error */\n \t\trc = 0;\n \t} else if (rc < 0) {\n-\t\tPMD_DRV_LOG(ERR,\n+\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t    \"%s MAC failed (%d)\", (set ? \"Set\" : \"Delete\"), rc);\n \t}\n \n@@ -6693,7 +6705,7 @@ static int bnx2x_set_eth_mac(struct bnx2x_softc *sc, uint8_t set)\n {\n \tunsigned long ramrod_flags = 0;\n \n-\tPMD_DRV_LOG(DEBUG, \"Adding Ethernet MAC\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Adding Ethernet MAC\");\n \n \tbnx2x_set_bit(RAMROD_COMP_WAIT, &ramrod_flags);\n \n@@ -6877,7 +6889,7 @@ static void bnx2x_link_report(struct bnx2x_softc *sc)\n \n \tif (bnx2x_test_bit(BNX2X_LINK_REPORT_LINK_DOWN,\n \t\t\t &cur_data.link_report_flags)) {\n-\t\tPMD_DRV_LOG(INFO, \"NIC Link is Down\");\n+\t\tPMD_DRV_LOG(INFO, sc, \"NIC Link is Down\");\n \t} else {\n \t\t__rte_unused const char *duplex;\n \t\t__rte_unused const char *flow;\n@@ -6917,7 +6929,7 @@ static void bnx2x_link_report(struct bnx2x_softc *sc)\n \t\t\tflow = \"none\";\n \t\t}\n \n-\t\tPMD_DRV_LOG(INFO,\n+\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t    \"NIC Link is Up, %d Mbps %s duplex, Flow control: %s\",\n \t\t\t    cur_data.line_speed, duplex, flow);\n \t}\n@@ -7058,7 +7070,7 @@ void bnx2x_periodic_callout(struct bnx2x_softc *sc)\n {\n \tif ((sc->state != BNX2X_STATE_OPEN) ||\n \t    (atomic_load_acq_long(&sc->periodic_flags) == PERIODIC_STOP)) {\n-\t\tPMD_DRV_LOG(WARNING, \"periodic callout exit (state=0x%x)\",\n+\t\tPMD_DRV_LOG(INFO, sc, \"periodic callout exit (state=0x%x)\",\n \t\t\t    sc->state);\n \t\treturn;\n \t}\n@@ -7095,7 +7107,7 @@ void bnx2x_periodic_callout(struct bnx2x_softc *sc)\n \t\tif ((drv_pulse != mcp_pulse) &&\n \t\t    (drv_pulse != ((mcp_pulse + 1) & MCP_PULSE_SEQ_MASK))) {\n \t\t\t/* someone lost a heartbeat... */\n-\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t    \"drv_pulse (0x%x) != mcp_pulse (0x%x)\",\n \t\t\t\t    drv_pulse, mcp_pulse);\n \t\t}\n@@ -7111,7 +7123,7 @@ int bnx2x_nic_load(struct bnx2x_softc *sc)\n \tuint32_t load_code = 0;\n \tint i, rc = 0;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \tsc->state = BNX2X_STATE_OPENING_WAITING_LOAD;\n \n@@ -7165,7 +7177,7 @@ int bnx2x_nic_load(struct bnx2x_softc *sc)\n \t\t\t\tgoto bnx2x_nic_load_error2;\n \t\t\t}\n \t\t} else {\n-\t\t\tPMD_DRV_LOG(INFO, \"Device has no MCP!\");\n+\t\t\tPMD_DRV_LOG(INFO, sc, \"Device has no MCP!\");\n \t\t\tload_code = bnx2x_nic_load_no_mcp(sc);\n \t\t}\n \n@@ -7177,7 +7189,7 @@ int bnx2x_nic_load(struct bnx2x_softc *sc)\n \n /* Initialize HW */\n \t\tif (bnx2x_init_hw(sc, load_code) != 0) {\n-\t\t\tPMD_DRV_LOG(NOTICE, \"HW init failed\");\n+\t\t\tPMD_DRV_LOG(NOTICE, sc, \"HW init failed\");\n \t\t\tbnx2x_fw_command(sc, DRV_MSG_CODE_LOAD_DONE, 0);\n \t\t\tsc->state = BNX2X_STATE_CLOSED;\n \t\t\trc = -ENXIO;\n@@ -7197,7 +7209,7 @@ int bnx2x_nic_load(struct bnx2x_softc *sc)\n \t\tsc->state = BNX2X_STATE_OPENING_WAITING_PORT;\n \t\trc = bnx2x_func_start(sc);\n \t\tif (rc) {\n-\t\t\tPMD_DRV_LOG(NOTICE, \"Function start failed!\");\n+\t\t\tPMD_DRV_LOG(NOTICE, sc, \"Function start failed!\");\n \t\t\tbnx2x_fw_command(sc, DRV_MSG_CODE_LOAD_DONE, 0);\n \t\t\tsc->state = BNX2X_STATE_ERROR;\n \t\t\tgoto bnx2x_nic_load_error3;\n@@ -7208,7 +7220,7 @@ int bnx2x_nic_load(struct bnx2x_softc *sc)\n \t\t\tload_code =\n \t\t\t    bnx2x_fw_command(sc, DRV_MSG_CODE_LOAD_DONE, 0);\n \t\t\tif (!load_code) {\n-\t\t\t\tPMD_DRV_LOG(NOTICE,\n+\t\t\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t\t\t    \"MCP response failure, aborting\");\n \t\t\t\tsc->state = BNX2X_STATE_ERROR;\n \t\t\t\trc = -ENXIO;\n@@ -7219,7 +7231,7 @@ int bnx2x_nic_load(struct bnx2x_softc *sc)\n \n \trc = bnx2x_setup_leading(sc);\n \tif (rc) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Setup leading failed!\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Setup leading failed!\");\n \t\tsc->state = BNX2X_STATE_ERROR;\n \t\tgoto bnx2x_nic_load_error3;\n \t}\n@@ -7231,7 +7243,7 @@ int bnx2x_nic_load(struct bnx2x_softc *sc)\n \t\t\trc = bnx2x_vf_setup_queue(sc, &sc->fp[i], FALSE);\n \n \t\tif (rc) {\n-\t\t\tPMD_DRV_LOG(NOTICE, \"Queue(%d) setup failed\", i);\n+\t\t\tPMD_DRV_LOG(NOTICE, sc, \"Queue(%d) setup failed\", i);\n \t\t\tsc->state = BNX2X_STATE_ERROR;\n \t\t\tgoto bnx2x_nic_load_error3;\n \t\t}\n@@ -7239,7 +7251,7 @@ int bnx2x_nic_load(struct bnx2x_softc *sc)\n \n \trc = bnx2x_init_rss_pf(sc);\n \tif (rc) {\n-\t\tPMD_DRV_LOG(NOTICE, \"PF RSS init failed\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"PF RSS init failed\");\n \t\tsc->state = BNX2X_STATE_ERROR;\n \t\tgoto bnx2x_nic_load_error3;\n \t}\n@@ -7255,7 +7267,7 @@ int bnx2x_nic_load(struct bnx2x_softc *sc)\n \t}\n \n \tif (rc) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Setting Ethernet MAC failed\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Setting Ethernet MAC failed\");\n \t\tsc->state = BNX2X_STATE_ERROR;\n \t\tgoto bnx2x_nic_load_error3;\n \t}\n@@ -7307,13 +7319,13 @@ int bnx2x_nic_load(struct bnx2x_softc *sc)\n \n \t/* wait for all pending SP commands to complete */\n \tif (IS_PF(sc) && !bnx2x_wait_sp_comp(sc, ~0x0UL)) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Timeout waiting for all SPs to complete!\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Timeout waiting for all SPs to complete!\");\n \t\tbnx2x_periodic_stop(sc);\n \t\tbnx2x_nic_unload(sc, UNLOAD_CLOSE, FALSE);\n \t\treturn -ENXIO;\n \t}\n \n-\tPMD_DRV_LOG(DEBUG, \"NIC successfully loaded\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"NIC successfully loaded\");\n \n \treturn 0;\n \n@@ -7362,7 +7374,7 @@ int bnx2x_init(struct bnx2x_softc *sc)\n \n \t/* Check if the driver is still running and bail out if it is. */\n \tif (sc->state != BNX2X_STATE_CLOSED) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Init called while driver is running!\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Init called while driver is running!\");\n \t\trc = 0;\n \t\tgoto bnx2x_init_done;\n \t}\n@@ -7400,7 +7412,7 @@ int bnx2x_init(struct bnx2x_softc *sc)\n \t\t\t\t     && (!global ||!other_load_status))\n \t\t\t\t    && bnx2x_trylock_leader_lock(sc)\n \t\t\t\t    && !bnx2x_leader_reset(sc)) {\n-\t\t\t\t\tPMD_DRV_LOG(INFO,\n+\t\t\t\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t\t\t\t    \"Recovered during init\");\n \t\t\t\t\tbreak;\n \t\t\t\t}\n@@ -7410,7 +7422,7 @@ int bnx2x_init(struct bnx2x_softc *sc)\n \n \t\t\t\tsc->recovery_state = BNX2X_RECOVERY_FAILED;\n \n-\t\t\t\tPMD_DRV_LOG(NOTICE,\n+\t\t\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t\t\t    \"Recovery flow hasn't properly \"\n \t\t\t\t\t    \"completed yet, try again later. \"\n \t\t\t\t\t    \"If you still see this message after a \"\n@@ -7429,7 +7441,7 @@ int bnx2x_init(struct bnx2x_softc *sc)\n bnx2x_init_done:\n \n \tif (rc) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Initialization failed, \"\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Initialization failed, \"\n \t\t\t    \"stack notified driver is NOT running!\");\n \t}\n \n@@ -7461,7 +7473,7 @@ static void bnx2x_get_function_num(struct bnx2x_softc *sc)\n \t\tsc->pfunc_abs = (sc->pfunc_rel | sc->path_id);\n \t}\n \n-\tPMD_DRV_LOG(DEBUG,\n+\tPMD_DRV_LOG(DEBUG, sc,\n \t\t    \"Relative function %d, Absolute function %d, Path %d\",\n \t\t    sc->pfunc_rel, sc->pfunc_abs, sc->path_id);\n }\n@@ -7498,14 +7510,14 @@ static uint32_t bnx2x_pcie_capability_read(struct bnx2x_softc *sc, int reg)\n \t/* ensure PCIe capability is enabled */\n \tcaps = pci_find_cap(sc, PCIY_EXPRESS, BNX2X_PCI_CAP);\n \tif (NULL != caps) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Found PCIe capability: \"\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Found PCIe capability: \"\n \t\t\t    \"id=0x%04X type=0x%04X addr=0x%08X\",\n \t\t\t    caps->id, caps->type, caps->addr);\n \t\tpci_read(sc, (caps->addr + reg), &ret, 2);\n \t\treturn ret;\n \t}\n \n-\tPMD_DRV_LOG(WARNING, \"PCIe capability NOT FOUND!!!\");\n+\tPMD_DRV_LOG(WARNING, sc, \"PCIe capability NOT FOUND!!!\");\n \n \treturn 0;\n }\n@@ -7523,7 +7535,7 @@ static uint8_t bnx2x_is_pcie_pending(struct bnx2x_softc *sc)\n */\n static void bnx2x_probe_pci_caps(struct bnx2x_softc *sc)\n {\n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \tstruct bnx2x_pci_cap *caps;\n \tuint16_t link_status;\n@@ -7532,7 +7544,7 @@ static void bnx2x_probe_pci_caps(struct bnx2x_softc *sc)\n \t/* check if PCI Power Management is enabled */\n \tcaps = pci_find_cap(sc, PCIY_PMG, BNX2X_PCI_CAP);\n \tif (NULL != caps) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Found PM capability: \"\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Found PM capability: \"\n \t\t\t    \"id=0x%04X type=0x%04X addr=0x%08X\",\n \t\t\t    caps->id, caps->type, caps->addr);\n \n@@ -7546,7 +7558,7 @@ static void bnx2x_probe_pci_caps(struct bnx2x_softc *sc)\n \tsc->devinfo.pcie_link_width =\n \t    ((link_status & PCIM_LINK_STA_WIDTH) >> 4);\n \n-\tPMD_DRV_LOG(DEBUG, \"PCIe link speed=%d width=%d\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"PCIe link speed=%d width=%d\",\n \t\t    sc->devinfo.pcie_link_speed, sc->devinfo.pcie_link_width);\n \n \tsc->devinfo.pcie_cap_flags |= BNX2X_PCIE_CAPABLE_FLAG;\n@@ -7554,7 +7566,7 @@ static void bnx2x_probe_pci_caps(struct bnx2x_softc *sc)\n \t/* check if MSI capability is enabled */\n \tcaps = pci_find_cap(sc, PCIY_MSI, BNX2X_PCI_CAP);\n \tif (NULL != caps) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Found MSI capability at 0x%04x\", reg);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Found MSI capability at 0x%04x\", reg);\n \n \t\tsc->devinfo.pcie_cap_flags |= BNX2X_MSI_CAPABLE_FLAG;\n \t\tsc->devinfo.pcie_msi_cap_reg = caps->addr;\n@@ -7563,7 +7575,7 @@ static void bnx2x_probe_pci_caps(struct bnx2x_softc *sc)\n \t/* check if MSI-X capability is enabled */\n \tcaps = pci_find_cap(sc, PCIY_MSIX, BNX2X_PCI_CAP);\n \tif (NULL != caps) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Found MSI-X capability at 0x%04x\", reg);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Found MSI-X capability at 0x%04x\", reg);\n \n \t\tsc->devinfo.pcie_cap_flags |= BNX2X_MSIX_CAPABLE_FLAG;\n \t\tsc->devinfo.pcie_msix_cap_reg = caps->addr;\n@@ -7583,7 +7595,7 @@ static int bnx2x_get_shmem_mf_cfg_info_sd(struct bnx2x_softc *sc)\n \tmf_info->multi_vnics_mode = 1;\n \n \tif (!VALID_OVLAN(mf_info->ext_id)) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Invalid VLAN (%d)\", mf_info->ext_id);\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Invalid VLAN (%d)\", mf_info->ext_id);\n \t\treturn 1;\n \t}\n \n@@ -7707,14 +7719,14 @@ static int bnx2x_check_valid_mf_cfg(struct bnx2x_softc *sc)\n \t/* various MF mode sanity checks... */\n \n \tif (mf_info->mf_config[SC_VN(sc)] & FUNC_MF_CFG_FUNC_HIDE) {\n-\t\tPMD_DRV_LOG(NOTICE,\n+\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t    \"Enumerated function %d is marked as hidden\",\n \t\t\t    SC_PORT(sc));\n \t\treturn 1;\n \t}\n \n \tif ((mf_info->vnics_per_port > 1) && !mf_info->multi_vnics_mode) {\n-\t\tPMD_DRV_LOG(NOTICE, \"vnics_per_port=%d multi_vnics_mode=%d\",\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"vnics_per_port=%d multi_vnics_mode=%d\",\n \t\t\t    mf_info->vnics_per_port, mf_info->multi_vnics_mode);\n \t\treturn 1;\n \t}\n@@ -7722,13 +7734,13 @@ static int bnx2x_check_valid_mf_cfg(struct bnx2x_softc *sc)\n \tif (mf_info->mf_mode == MULTI_FUNCTION_SD) {\n /* vnic id > 0 must have valid ovlan in switch-dependent mode */\n \t\tif ((SC_VN(sc) > 0) && !VALID_OVLAN(OVLAN(sc))) {\n-\t\t\tPMD_DRV_LOG(NOTICE, \"mf_mode=SD vnic_id=%d ovlan=%d\",\n+\t\t\tPMD_DRV_LOG(NOTICE, sc, \"mf_mode=SD vnic_id=%d ovlan=%d\",\n \t\t\t\t    SC_VN(sc), OVLAN(sc));\n \t\t\treturn 1;\n \t\t}\n \n \t\tif (!VALID_OVLAN(OVLAN(sc)) && mf_info->multi_vnics_mode) {\n-\t\t\tPMD_DRV_LOG(NOTICE,\n+\t\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t\t    \"mf_mode=SD multi_vnics_mode=%d ovlan=%d\",\n \t\t\t\t    mf_info->multi_vnics_mode, OVLAN(sc));\n \t\t\treturn 1;\n@@ -7747,7 +7759,7 @@ static int bnx2x_check_valid_mf_cfg(struct bnx2x_softc *sc)\n \t\t\t      && !VALID_OVLAN(ovlan1))\n \t\t\t     || ((!mf_info->multi_vnics_mode)\n \t\t\t\t && VALID_OVLAN(ovlan1)))) {\n-\t\t\t\tPMD_DRV_LOG(NOTICE,\n+\t\t\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t\t\t    \"mf_mode=SD function %d MF config \"\n \t\t\t\t\t    \"mismatch, multi_vnics_mode=%d ovlan=%d\",\n \t\t\t\t\t    i, mf_info->multi_vnics_mode,\n@@ -7771,7 +7783,7 @@ static int bnx2x_check_valid_mf_cfg(struct bnx2x_softc *sc)\n \t\t\t\t    && !(mf_cfg2 & FUNC_MF_CFG_FUNC_HIDE)\n \t\t\t\t    && VALID_OVLAN(ovlan2)\n \t\t\t\t    && (ovlan1 == ovlan2)) {\n-\t\t\t\t\tPMD_DRV_LOG(NOTICE,\n+\t\t\t\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t\t\t\t    \"mf_mode=SD functions %d and %d \"\n \t\t\t\t\t\t    \"have the same ovlan (%d)\",\n \t\t\t\t\t\t    i, j, ovlan1);\n@@ -7801,7 +7813,7 @@ static int bnx2x_get_mf_cfg_info(struct bnx2x_softc *sc)\n \t}\n \n \tif (sc->devinfo.mf_cfg_base == SHMEM_MF_CFG_ADDR_NONE) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Invalid mf_cfg_base!\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Invalid mf_cfg_base!\");\n \t\treturn 1;\n \t}\n \n@@ -7819,7 +7831,7 @@ static int bnx2x_get_mf_cfg_info(struct bnx2x_softc *sc)\n \t\tif (mac_upper != FUNC_MF_CFG_UPPERMAC_DEFAULT) {\n \t\t\tmf_info->mf_mode = MULTI_FUNCTION_SI;\n \t\t} else {\n-\t\t\tPMD_DRV_LOG(NOTICE,\n+\t\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t\t    \"Invalid config for Switch Independent mode\");\n \t\t}\n \n@@ -7835,7 +7847,7 @@ static int bnx2x_get_mf_cfg_info(struct bnx2x_softc *sc)\n \t\t    FUNC_MF_CFG_E1HOV_TAG_DEFAULT) {\n \t\t\tmf_info->mf_mode = MULTI_FUNCTION_SD;\n \t\t} else {\n-\t\t\tPMD_DRV_LOG(NOTICE,\n+\t\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t\t    \"Invalid config for Switch Dependent mode\");\n \t\t}\n \n@@ -7859,14 +7871,14 @@ static int bnx2x_get_mf_cfg_info(struct bnx2x_softc *sc)\n \t\t    (mac_upper != FUNC_MF_CFG_UPPERMAC_DEFAULT)) {\n \t\t\tmf_info->mf_mode = MULTI_FUNCTION_AFEX;\n \t\t} else {\n-\t\t\tPMD_DRV_LOG(NOTICE, \"Invalid config for AFEX mode\");\n+\t\t\tPMD_DRV_LOG(NOTICE, sc, \"Invalid config for AFEX mode\");\n \t\t}\n \n \t\tbreak;\n \n \tdefault:\n \n-\t\tPMD_DRV_LOG(NOTICE, \"Unknown MF mode (0x%08x)\",\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Unknown MF mode (0x%08x)\",\n \t\t\t    (val & SHARED_FEAT_CFG_FORCE_SF_MODE_MASK));\n \n \t\treturn 1;\n@@ -7898,7 +7910,7 @@ static int bnx2x_get_mf_cfg_info(struct bnx2x_softc *sc)\n \tif (mf_info->mf_mode == SINGLE_FUNCTION) {\n /* invalid MF config */\n \t\tif (SC_VN(sc) >= 1) {\n-\t\t\tPMD_DRV_LOG(NOTICE, \"VNIC ID >= 1 in SF mode\");\n+\t\t\tPMD_DRV_LOG(NOTICE, sc, \"VNIC ID >= 1 in SF mode\");\n \t\t\treturn 1;\n \t\t}\n \n@@ -7927,7 +7939,7 @@ static int bnx2x_get_mf_cfg_info(struct bnx2x_softc *sc)\n \n \tdefault:\n \n-\t\tPMD_DRV_LOG(NOTICE, \"Get MF config failed (mf_mode=0x%08x)\",\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Get MF config failed (mf_mode=0x%08x)\",\n \t\t\t    mf_info->mf_mode);\n \t\treturn 1;\n \t}\n@@ -7955,7 +7967,7 @@ static int bnx2x_get_shmem_info(struct bnx2x_softc *sc)\n \tint port;\n \tuint32_t mac_hi, mac_lo, val;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \tport = SC_PORT(sc);\n \tmac_hi = mac_lo = 0;\n@@ -8029,7 +8041,7 @@ static int bnx2x_get_shmem_info(struct bnx2x_softc *sc)\n \n \tif ((mac_lo == 0) && (mac_hi == 0)) {\n \t\t*sc->mac_addr_str = 0;\n-\t\tPMD_DRV_LOG(NOTICE, \"No Ethernet address programmed!\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"No Ethernet address programmed!\");\n \t} else {\n \t\tsc->link_params.mac_addr[0] = (uint8_t) (mac_hi >> 8);\n \t\tsc->link_params.mac_addr[1] = (uint8_t) (mac_hi);\n@@ -8045,7 +8057,8 @@ static int bnx2x_get_shmem_info(struct bnx2x_softc *sc)\n \t\t\t sc->link_params.mac_addr[3],\n \t\t\t sc->link_params.mac_addr[4],\n \t\t\t sc->link_params.mac_addr[5]);\n-\t\tPMD_DRV_LOG(DEBUG, \"Ethernet address: %s\", sc->mac_addr_str);\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t\t    \"Ethernet address: %s\", sc->mac_addr_str);\n \t}\n \n \treturn 0;\n@@ -8060,24 +8073,24 @@ static void bnx2x_media_detect(struct bnx2x_softc *sc)\n \tcase ELINK_ETH_PHY_XFP_FIBER:\n \tcase ELINK_ETH_PHY_KR:\n \tcase ELINK_ETH_PHY_CX4:\n-\t\tPMD_DRV_LOG(INFO, \"Found 10GBase-CX4 media.\");\n+\t\tPMD_DRV_LOG(INFO, sc, \"Found 10GBase-CX4 media.\");\n \t\tsc->media = IFM_10G_CX4;\n \t\tbreak;\n \tcase ELINK_ETH_PHY_DA_TWINAX:\n-\t\tPMD_DRV_LOG(INFO, \"Found 10Gb Twinax media.\");\n+\t\tPMD_DRV_LOG(INFO, sc, \"Found 10Gb Twinax media.\");\n \t\tsc->media = IFM_10G_TWINAX;\n \t\tbreak;\n \tcase ELINK_ETH_PHY_BASE_T:\n-\t\tPMD_DRV_LOG(INFO, \"Found 10GBase-T media.\");\n+\t\tPMD_DRV_LOG(INFO, sc, \"Found 10GBase-T media.\");\n \t\tsc->media = IFM_10G_T;\n \t\tbreak;\n \tcase ELINK_ETH_PHY_NOT_PRESENT:\n-\t\tPMD_DRV_LOG(INFO, \"Media not present.\");\n+\t\tPMD_DRV_LOG(INFO, sc, \"Media not present.\");\n \t\tsc->media = 0;\n \t\tbreak;\n \tcase ELINK_ETH_PHY_UNSPECIFIED:\n \tdefault:\n-\t\tPMD_DRV_LOG(INFO, \"Unknown media!\");\n+\t\tPMD_DRV_LOG(INFO, sc, \"Unknown media!\");\n \t\tsc->media = 0;\n \t\tbreak;\n \t}\n@@ -8140,7 +8153,7 @@ static int bnx2x_get_igu_cam_info(struct bnx2x_softc *sc)\n \tsc->igu_sb_cnt = min(sc->igu_sb_cnt, igu_sb_cnt);\n \n \tif (igu_sb_cnt == 0) {\n-\t\tPMD_DRV_LOG(ERR, \"CAM configuration error\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"CAM configuration error\");\n \t\treturn -1;\n \t}\n \n@@ -8177,7 +8190,7 @@ static int bnx2x_get_device_info(struct bnx2x_softc *sc)\n \t\tsc->devinfo.chip_id |= 0x1;\n \t}\n \n-\tPMD_DRV_LOG(DEBUG,\n+\tPMD_DRV_LOG(DEBUG, sc,\n \t\t    \"chip_id=0x%08x (num=0x%04x rev=0x%01x metal=0x%02x bond=0x%01x)\",\n \t\t    sc->devinfo.chip_id,\n \t\t    ((sc->devinfo.chip_id >> 16) & 0xffff),\n@@ -8188,7 +8201,7 @@ static int bnx2x_get_device_info(struct bnx2x_softc *sc)\n \tval = (REG_RD(sc, 0x2874) & 0x55);\n \tif ((sc->devinfo.chip_id & 0x1) || (CHIP_IS_E1H(sc) && (val == 0x55))) {\n \t\tsc->flags |= BNX2X_ONE_PORT_FLAG;\n-\t\tPMD_DRV_LOG(DEBUG, \"single port device\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"single port device\");\n \t}\n \n \t/* set the doorbell size */\n@@ -8212,7 +8225,7 @@ static int bnx2x_get_device_info(struct bnx2x_softc *sc)\n \t\tsc->devinfo.chip_port_mode =\n \t\t    (val) ? CHIP_4_PORT_MODE : CHIP_2_PORT_MODE;\n \n-\t\tPMD_DRV_LOG(DEBUG, \"Port mode = %s\", (val) ? \"4\" : \"2\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Port mode = %s\", (val) ? \"4\" : \"2\");\n \t}\n \n \t/* get the function and path info for the device */\n@@ -8227,7 +8240,7 @@ static int bnx2x_get_device_info(struct bnx2x_softc *sc)\n \n \tif (!sc->devinfo.shmem_base) {\n /* this should ONLY prevent upcoming shmem reads */\n-\t\tPMD_DRV_LOG(INFO, \"MCP not active\");\n+\t\tPMD_DRV_LOG(INFO, sc, \"MCP not active\");\n \t\tsc->flags |= BNX2X_NO_MCP_FLAG;\n \t\treturn 0;\n \t}\n@@ -8236,7 +8249,7 @@ static int bnx2x_get_device_info(struct bnx2x_softc *sc)\n \tval = SHMEM_RD(sc, validity_map[SC_PORT(sc)]);\n \tif ((val & (SHR_MEM_VALIDITY_DEV_INFO | SHR_MEM_VALIDITY_MB)) !=\n \t    (SHR_MEM_VALIDITY_DEV_INFO | SHR_MEM_VALIDITY_MB)) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Invalid SHMEM validity signature: 0x%08x\",\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Invalid SHMEM validity signature: 0x%08x\",\n \t\t\t    val);\n \t\treturn 0;\n \t}\n@@ -8249,7 +8262,7 @@ static int bnx2x_get_device_info(struct bnx2x_softc *sc)\n \t\t ((sc->devinfo.bc_ver >> 24) & 0xff),\n \t\t ((sc->devinfo.bc_ver >> 16) & 0xff),\n \t\t ((sc->devinfo.bc_ver >> 8) & 0xff));\n-\tPMD_DRV_LOG(INFO, \"Bootcode version: %s\", sc->devinfo.bc_ver_str);\n+\tPMD_DRV_LOG(INFO, sc, \"Bootcode version: %s\", sc->devinfo.bc_ver_str);\n \n \t/* get the bootcode shmem address */\n \tsc->devinfo.mf_cfg_base = bnx2x_get_shmem_mf_cfg_base(sc);\n@@ -8304,7 +8317,7 @@ static int bnx2x_get_device_info(struct bnx2x_softc *sc)\n \t\t\t}\n \n \t\t\tif (REG_RD(sc, IGU_REG_RESET_MEMORIES)) {\n-\t\t\t\tPMD_DRV_LOG(NOTICE,\n+\t\t\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t\t\t    \"FORCING IGU Normal Mode failed!!!\");\n \t\t\t\tbnx2x_release_hw_lock(sc, HW_LOCK_RESOURCE_RESET);\n \t\t\t\treturn -1;\n@@ -8312,10 +8325,10 @@ static int bnx2x_get_device_info(struct bnx2x_softc *sc)\n \t\t}\n \n \t\tif (val & IGU_BLOCK_CONFIGURATION_REG_BACKWARD_COMP_EN) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"IGU Backward Compatible Mode\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"IGU Backward Compatible Mode\");\n \t\t\tsc->devinfo.int_block |= INT_BLOCK_MODE_BW_COMP;\n \t\t} else {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"IGU Normal Mode\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"IGU Normal Mode\");\n \t\t}\n \n \t\trc = bnx2x_get_igu_cam_info(sc);\n@@ -8389,7 +8402,7 @@ static int bnx2x_get_device_info(struct bnx2x_softc *sc)\n \t}\n \n \tif (!(sc->port.supported[0] || sc->port.supported[1])) {\n-\t\tPMD_DRV_LOG(ERR,\n+\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t    \"Invalid phy config in NVRAM (PHY1=0x%08x PHY2=0x%08x)\",\n \t\t\t    SHMEM_RD(sc,\n \t\t\t\t     dev_info.port_hw_config\n@@ -8415,7 +8428,7 @@ static int bnx2x_get_device_info(struct bnx2x_softc *sc)\n \t\t\t\t   NIG_REG_XGXS0_CTRL_PHY_ADDR + port * 0x18);\n \t\t\tbreak;\n \t\tdefault:\n-\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t    \"Invalid switch config in\"\n \t\t\t\t    \"link_config=0x%08x\",\n \t\t\t\t    sc->port.link_config[0]);\n@@ -8423,7 +8436,7 @@ static int bnx2x_get_device_info(struct bnx2x_softc *sc)\n \t\t}\n \t}\n \n-\tPMD_DRV_LOG(INFO, \"PHY addr 0x%08x\", sc->port.phy_addr);\n+\tPMD_DRV_LOG(INFO, sc, \"PHY addr 0x%08x\", sc->port.phy_addr);\n \n \t/* mask what we support according to speed_cap_mask per configuration */\n \tfor (idx = 0; idx < cfg_size; idx++) {\n@@ -8476,7 +8489,7 @@ static int bnx2x_get_device_info(struct bnx2x_softc *sc)\n \t\t}\n \t}\n \n-\tPMD_DRV_LOG(INFO, \"PHY supported 0=0x%08x 1=0x%08x\",\n+\tPMD_DRV_LOG(INFO, sc, \"PHY supported 0=0x%08x 1=0x%08x\",\n \t\t    sc->port.supported[0], sc->port.supported[1]);\n }\n \n@@ -8535,7 +8548,7 @@ static void bnx2x_link_settings_requested(struct bnx2x_softc *sc)\n \t\t\t\tsc->port.advertising[idx] |=\n \t\t\t\t    (ADVERTISED_10baseT_Full | ADVERTISED_TP);\n \t\t\t} else {\n-\t\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t\t    \"Invalid NVRAM config link_config=0x%08x \"\n \t\t\t\t\t    \"speed_cap_mask=0x%08x\",\n \t\t\t\t\t    link_config,\n@@ -8555,7 +8568,7 @@ static void bnx2x_link_settings_requested(struct bnx2x_softc *sc)\n \t\t\t\tsc->port.advertising[idx] |=\n \t\t\t\t    (ADVERTISED_10baseT_Half | ADVERTISED_TP);\n \t\t\t} else {\n-\t\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t\t    \"Invalid NVRAM config link_config=0x%08x \"\n \t\t\t\t\t    \"speed_cap_mask=0x%08x\",\n \t\t\t\t\t    link_config,\n@@ -8574,7 +8587,7 @@ static void bnx2x_link_settings_requested(struct bnx2x_softc *sc)\n \t\t\t\tsc->port.advertising[idx] |=\n \t\t\t\t    (ADVERTISED_100baseT_Full | ADVERTISED_TP);\n \t\t\t} else {\n-\t\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t\t    \"Invalid NVRAM config link_config=0x%08x \"\n \t\t\t\t\t    \"speed_cap_mask=0x%08x\",\n \t\t\t\t\t    link_config,\n@@ -8594,7 +8607,7 @@ static void bnx2x_link_settings_requested(struct bnx2x_softc *sc)\n \t\t\t\tsc->port.advertising[idx] |=\n \t\t\t\t    (ADVERTISED_100baseT_Half | ADVERTISED_TP);\n \t\t\t} else {\n-\t\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t\t    \"Invalid NVRAM config link_config=0x%08x \"\n \t\t\t\t\t    \"speed_cap_mask=0x%08x\",\n \t\t\t\t\t    link_config,\n@@ -8612,7 +8625,7 @@ static void bnx2x_link_settings_requested(struct bnx2x_softc *sc)\n \t\t\t\tsc->port.advertising[idx] |=\n \t\t\t\t    (ADVERTISED_1000baseT_Full | ADVERTISED_TP);\n \t\t\t} else {\n-\t\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t\t    \"Invalid NVRAM config link_config=0x%08x \"\n \t\t\t\t\t    \"speed_cap_mask=0x%08x\",\n \t\t\t\t\t    link_config,\n@@ -8630,7 +8643,7 @@ static void bnx2x_link_settings_requested(struct bnx2x_softc *sc)\n \t\t\t\tsc->port.advertising[idx] |=\n \t\t\t\t    (ADVERTISED_2500baseX_Full | ADVERTISED_TP);\n \t\t\t} else {\n-\t\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t\t    \"Invalid NVRAM config link_config=0x%08x \"\n \t\t\t\t\t    \"speed_cap_mask=0x%08x\",\n \t\t\t\t\t    link_config,\n@@ -8649,7 +8662,7 @@ static void bnx2x_link_settings_requested(struct bnx2x_softc *sc)\n \t\t\t\t    (ADVERTISED_10000baseT_Full |\n \t\t\t\t     ADVERTISED_FIBRE);\n \t\t\t} else {\n-\t\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t\t    \"Invalid NVRAM config link_config=0x%08x \"\n \t\t\t\t\t    \"speed_cap_mask=0x%08x\",\n \t\t\t\t\t    link_config,\n@@ -8664,7 +8677,7 @@ static void bnx2x_link_settings_requested(struct bnx2x_softc *sc)\n \t\t\tbreak;\n \n \t\tdefault:\n-\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t    \"Invalid NVRAM config link_config=0x%08x \"\n \t\t\t\t    \"speed_cap_mask=0x%08x\", link_config,\n \t\t\t\t    sc->link_params.speed_cap_mask[idx]);\n@@ -8695,7 +8708,7 @@ static void bnx2x_get_phy_info(struct bnx2x_softc *sc)\n \tuint8_t port = SC_PORT(sc);\n \tuint32_t eee_mode;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \t/* shmem data already read in bnx2x_get_shmem_info() */\n \n@@ -8855,7 +8868,7 @@ int bnx2x_alloc_hsi_mem(struct bnx2x_softc *sc)\n \t\tsnprintf(buf, sizeof(buf), \"fp_%d_sb\", i);\n \t\tif (bnx2x_dma_alloc(sc, sizeof(union bnx2x_host_hc_status_block),\n \t\t\t\t  &fp->sb_dma, buf, RTE_CACHE_LINE_SIZE) != 0) {\n-\t\t\tPMD_DRV_LOG(NOTICE, \"Failed to alloc %s\", buf);\n+\t\t\tPMD_DRV_LOG(NOTICE, sc, \"Failed to alloc %s\", buf);\n \t\t\treturn -1;\n \t\t} else {\n \t\t\tif (CHIP_IS_E2E3(sc)) {\n@@ -8945,7 +8958,7 @@ static int bnx2x_prev_mcp_done(struct bnx2x_softc *sc)\n \tuint32_t rc = bnx2x_fw_command(sc, DRV_MSG_CODE_UNLOAD_DONE,\n \t\t\t\t     DRV_MSG_CODE_UNLOAD_SKIP_LINK_RESET);\n \tif (!rc) {\n-\t\tPMD_DRV_LOG(NOTICE, \"MCP response failure, aborting\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"MCP response failure, aborting\");\n \t\treturn -1;\n \t}\n \n@@ -8977,12 +8990,12 @@ static uint8_t bnx2x_prev_is_path_marked(struct bnx2x_softc *sc)\n \ttmp = bnx2x_prev_path_get_entry(sc);\n \tif (tmp) {\n \t\tif (tmp->aer) {\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t    \"Path %d/%d/%d was marked by AER\",\n \t\t\t\t    sc->pcie_bus, sc->pcie_device, SC_PATH(sc));\n \t\t} else {\n \t\t\trc = TRUE;\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t    \"Path %d/%d/%d was already cleaned from previous drivers\",\n \t\t\t\t    sc->pcie_bus, sc->pcie_device, SC_PATH(sc));\n \t\t}\n@@ -9003,11 +9016,11 @@ static int bnx2x_prev_mark_path(struct bnx2x_softc *sc, uint8_t after_undi)\n \ttmp = bnx2x_prev_path_get_entry(sc);\n \tif (tmp) {\n \t\tif (!tmp->aer) {\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t    \"Re-marking AER in path %d/%d/%d\",\n \t\t\t\t    sc->pcie_bus, sc->pcie_device, SC_PATH(sc));\n \t\t} else {\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t    \"Removing AER indication from path %d/%d/%d\",\n \t\t\t\t    sc->pcie_bus, sc->pcie_device, SC_PATH(sc));\n \t\t\ttmp->aer = 0;\n@@ -9023,7 +9036,7 @@ static int bnx2x_prev_mark_path(struct bnx2x_softc *sc, uint8_t after_undi)\n \ttmp = rte_malloc(\"\", sizeof(struct bnx2x_prev_list_node),\n \t\t\t RTE_CACHE_LINE_SIZE);\n \tif (!tmp) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Failed to allocate 'bnx2x_prev_list_node'\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Failed to allocate 'bnx2x_prev_list_node'\");\n \t\treturn -1;\n \t}\n \n@@ -9048,13 +9061,13 @@ static int bnx2x_do_flr(struct bnx2x_softc *sc)\n \n \t/* only E2 and onwards support FLR */\n \tif (CHIP_IS_E1x(sc)) {\n-\t\tPMD_DRV_LOG(WARNING, \"FLR not supported in E1H\");\n+\t\tPMD_DRV_LOG(WARNING, sc, \"FLR not supported in E1H\");\n \t\treturn -1;\n \t}\n \n \t/* only bootcode REQ_BC_VER_4_INITIATE_FLR and onwards support flr */\n \tif (sc->devinfo.bc_ver < REQ_BC_VER_4_INITIATE_FLR) {\n-\t\tPMD_DRV_LOG(WARNING,\n+\t\tPMD_DRV_LOG(WARNING, sc,\n \t\t\t    \"FLR not supported by BC_VER: 0x%08x\",\n \t\t\t    sc->devinfo.bc_ver);\n \t\treturn -1;\n@@ -9071,7 +9084,7 @@ static int bnx2x_do_flr(struct bnx2x_softc *sc)\n \t\t}\n \t}\n \n-\tPMD_DRV_LOG(NOTICE, \"PCIE transaction is not cleared, \"\n+\tPMD_DRV_LOG(NOTICE, sc, \"PCIE transaction is not cleared, \"\n \t\t    \"proceeding with reset anyway\");\n \n clear:\n@@ -9219,7 +9232,7 @@ static int bnx2x_prev_unload_common(struct bnx2x_softc *sc)\n \t\tif (reset_reg & MISC_REGISTERS_RESET_REG_1_RST_DORQ) {\n \t\t\ttmp_reg = REG_RD(sc, DORQ_REG_NORM_CID_OFST);\n \t\t\tif (tmp_reg == 0x7) {\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"UNDI previously loaded\");\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"UNDI previously loaded\");\n \t\t\t\tprev_undi = TRUE;\n \t\t\t\t/* clear the UNDI indication */\n \t\t\t\tREG_WR(sc, DORQ_REG_NORM_CID_OFST, 0);\n@@ -9238,7 +9251,7 @@ static int bnx2x_prev_unload_common(struct bnx2x_softc *sc)\n \t\t\t\tbreak;\n \t\t\t}\n \n-\t\t\tPMD_DRV_LOG(DEBUG, \"BRB still has 0x%08x\", tmp_reg);\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"BRB still has 0x%08x\", tmp_reg);\n \n \t\t\t/* reset timer as long as BRB actually gets emptied */\n \t\t\tif (prev_brb > tmp_reg) {\n@@ -9256,7 +9269,7 @@ static int bnx2x_prev_unload_common(struct bnx2x_softc *sc)\n \t\t}\n \n \t\tif (!timer_count) {\n-\t\t\tPMD_DRV_LOG(NOTICE, \"Failed to empty BRB\");\n+\t\t\tPMD_DRV_LOG(NOTICE, sc, \"Failed to empty BRB\");\n \t\t}\n \t}\n \n@@ -9311,7 +9324,7 @@ static int bnx2x_prev_unload_uncommon(struct bnx2x_softc *sc)\n \t\treturn 0;\n \t}\n \n-\tPMD_DRV_LOG(INFO, \"Could not FLR\");\n+\tPMD_DRV_LOG(INFO, sc, \"Could not FLR\");\n \n \t/* Close the MCP request, return failure */\n \trc = bnx2x_prev_mcp_done(sc);\n@@ -9358,7 +9371,7 @@ static int bnx2x_prev_unload(struct bnx2x_softc *sc)\n \t\t/* Lock MCP using an unload request */\n \t\tfw = bnx2x_fw_command(sc, DRV_MSG_CODE_UNLOAD_REQ_WOL_DIS, 0);\n \t\tif (!fw) {\n-\t\t\tPMD_DRV_LOG(NOTICE, \"MCP response failure, aborting\");\n+\t\t\tPMD_DRV_LOG(NOTICE, sc, \"MCP response failure, aborting\");\n \t\t\trc = -1;\n \t\t\tbreak;\n \t\t}\n@@ -9378,7 +9391,7 @@ static int bnx2x_prev_unload(struct bnx2x_softc *sc)\n \t} while (--time_counter);\n \n \tif (!time_counter || rc) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Failed to unload previous driver!\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Failed to unload previous driver!\");\n \t\trc = -1;\n \t}\n \n@@ -9395,7 +9408,7 @@ static int bnx2x_prev_unload(struct bnx2x_softc *sc)\n \t\tsc->dcb_state = FALSE;\n \t\tsc->dcbx_enabled = BNX2X_DCBX_ENABLED_INVALID;\n \t}\n-\tPMD_DRV_LOG(DEBUG,\n+\tPMD_DRV_LOG(DEBUG, sc,\n \t\t    \"DCB state [%s:%s]\",\n \t\t    dcb_on ? \"ON\" : \"OFF\",\n \t\t    (dcbx_enabled == BNX2X_DCBX_ENABLED_OFF) ? \"user-mode\" :\n@@ -9428,7 +9441,7 @@ static void bnx2x_init_multi_cos(struct bnx2x_softc *sc)\n \t\tif (cos < sc->max_cos) {\n \t\t\tsc->prio_to_cos[pri] = cos;\n \t\t} else {\n-\t\t\tPMD_DRV_LOG(WARNING,\n+\t\t\tPMD_DRV_LOG(WARNING, sc,\n \t\t\t\t    \"Invalid COS %d for priority %d \"\n \t\t\t\t    \"(max COS is %d), setting to 0\", cos, pri,\n \t\t\t\t    (sc->max_cos - 1));\n@@ -9449,7 +9462,7 @@ static int bnx2x_pci_get_caps(struct bnx2x_softc *sc)\n \tcap = sc->pci_caps = rte_zmalloc(\"caps\", sizeof(struct bnx2x_pci_cap),\n \t\t\t\t\t RTE_CACHE_LINE_SIZE);\n \tif (!cap) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Failed to allocate memory\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Failed to allocate memory\");\n \t\treturn -ENOMEM;\n \t}\n \n@@ -9460,7 +9473,7 @@ static int bnx2x_pci_get_caps(struct bnx2x_softc *sc)\n \tpci_read(sc, PCIR_STATUS, &status, 2);\n \tif (!(status & PCIM_STATUS_CAPPRESENT)) {\n #endif\n-\t\tPMD_DRV_LOG(NOTICE, \"PCIe capability reading failed\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"PCIe capability reading failed\");\n \t\treturn -1;\n \t}\n \n@@ -9480,7 +9493,7 @@ static int bnx2x_pci_get_caps(struct bnx2x_softc *sc)\n \t\t\t\t\tsizeof(struct bnx2x_pci_cap),\n \t\t\t\t\tRTE_CACHE_LINE_SIZE);\n \t\tif (!cap->next) {\n-\t\t\tPMD_DRV_LOG(NOTICE, \"Failed to allocate memory\");\n+\t\t\tPMD_DRV_LOG(NOTICE, sc, \"Failed to allocate memory\");\n \t\t\treturn -ENOMEM;\n \t\t}\n \t\tcap = cap->next;\n@@ -9516,25 +9529,25 @@ void bnx2x_load_firmware(struct bnx2x_softc *sc)\n \t\t? FW_NAME_57711 : FW_NAME_57810;\n \tf = open(fwname, O_RDONLY);\n \tif (f < 0) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Can't open firmware file\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Can't open firmware file\");\n \t\treturn;\n \t}\n \n \tif (fstat(f, &st) < 0) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Can't stat firmware file\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Can't stat firmware file\");\n \t\tclose(f);\n \t\treturn;\n \t}\n \n \tsc->firmware = rte_zmalloc(\"bnx2x_fw\", st.st_size, RTE_CACHE_LINE_SIZE);\n \tif (!sc->firmware) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Can't allocate memory for firmware\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Can't allocate memory for firmware\");\n \t\tclose(f);\n \t\treturn;\n \t}\n \n \tif (read(f, sc->firmware, st.st_size) != st.st_size) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Can't read firmware data\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Can't read firmware data\");\n \t\tclose(f);\n \t\treturn;\n \t}\n@@ -9542,10 +9555,11 @@ void bnx2x_load_firmware(struct bnx2x_softc *sc)\n \n \tsc->fw_len = st.st_size;\n \tif (sc->fw_len < FW_HEADER_LEN) {\n-\t\tPMD_DRV_LOG(NOTICE, \"Invalid fw size: %\" PRIu64, sc->fw_len);\n+\t\tPMD_DRV_LOG(NOTICE, sc,\n+\t\t\t    \"Invalid fw size: %\" PRIu64, sc->fw_len);\n \t\treturn;\n \t}\n-\tPMD_DRV_LOG(DEBUG, \"fw_len = %\" PRIu64, sc->fw_len);\n+\tPMD_DRV_LOG(DEBUG, sc, \"fw_len = %\" PRIu64, sc->fw_len);\n }\n \n static void\n@@ -9612,11 +9626,11 @@ int bnx2x_attach(struct bnx2x_softc *sc)\n {\n \tint rc;\n \n-\tPMD_DRV_LOG(DEBUG, \"Starting attach...\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Starting attach...\");\n \n \trc = bnx2x_pci_get_caps(sc);\n \tif (rc) {\n-\t\tPMD_DRV_LOG(NOTICE, \"PCIe caps reading was failed\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"PCIe caps reading was failed\");\n \t\treturn rc;\n \t}\n \n@@ -9655,7 +9669,7 @@ int bnx2x_attach(struct bnx2x_softc *sc)\n \n \t\t/* get device info and set params */\n \t\tif (bnx2x_get_device_info(sc) != 0) {\n-\t\t\tPMD_DRV_LOG(NOTICE, \"getting device info\");\n+\t\t\tPMD_DRV_LOG(NOTICE, sc, \"getting device info\");\n \t\t\treturn -ENXIO;\n \t\t}\n \n@@ -9754,7 +9768,7 @@ int bnx2x_attach(struct bnx2x_softc *sc)\n \n \tmb();\n \n-\tPMD_DRV_LOG(DEBUG, \"write 0x%08x to IGU(via GRC) addr 0x%x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"write 0x%08x to IGU(via GRC) addr 0x%x\",\n \t\t    ctl, igu_addr_ctl);\n \tREG_WR(sc, igu_addr_ctl, ctl);\n \n@@ -9766,7 +9780,7 @@ int bnx2x_attach(struct bnx2x_softc *sc)\n \t}\n \n \tif (!(REG_RD(sc, igu_addr_ack) & sb_bit)) {\n-\t\tPMD_DRV_LOG(DEBUG,\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t    \"Unable to finish IGU cleanup: \"\n \t\t\t    \"idu_sb_id %d offset %d bit %d (cnt %d)\",\n \t\t\t    idu_sb_id, idu_sb_id / 32, idu_sb_id % 32, cnt);\n@@ -9786,7 +9800,7 @@ static void bnx2x_reset_common(struct bnx2x_softc *sc)\n {\n \tuint32_t val = 0x1400;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \t/* reset_common */\n \tREG_WR(sc, (GRCBASE_MISC + MISC_REGISTERS_RESET_REG_1_CLEAR),\n@@ -9995,7 +10009,8 @@ static int bnx2x_init_hw_common(struct bnx2x_softc *sc)\n \tuint8_t abs_func_id;\n \tuint32_t val;\n \n-\tPMD_DRV_LOG(DEBUG, \"starting common init for func %d\", SC_ABS_FUNC(sc));\n+\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t    \"starting common init for func %d\", SC_ABS_FUNC(sc));\n \n \t/*\n \t * take the RESET lock to protect undi_unload flow from accessing\n@@ -10078,12 +10093,12 @@ static int bnx2x_init_hw_common(struct bnx2x_softc *sc)\n \n \tval = REG_RD(sc, PXP2_REG_RQ_CFG_DONE);\n \tif (val != 1) {\n-\t\tPMD_DRV_LOG(NOTICE, \"PXP2 CFG failed\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"PXP2 CFG failed\");\n \t\treturn -1;\n \t}\n \tval = REG_RD(sc, PXP2_REG_RD_INIT_DONE);\n \tif (val != 1) {\n-\t\tPMD_DRV_LOG(NOTICE, \"PXP2 RD_INIT failed\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"PXP2 RD_INIT failed\");\n \t\treturn -1;\n \t}\n \n@@ -10205,7 +10220,7 @@ static int bnx2x_init_hw_common(struct bnx2x_softc *sc)\n \t\t} while (factor-- && (val != 1));\n \n \t\tif (val != 1) {\n-\t\t\tPMD_DRV_LOG(NOTICE, \"ATC_INIT failed\");\n+\t\t\tPMD_DRV_LOG(NOTICE, sc, \"ATC_INIT failed\");\n \t\t\treturn -1;\n \t\t}\n \t}\n@@ -10343,7 +10358,7 @@ static int bnx2x_init_hw_common(struct bnx2x_softc *sc)\n \n \tif (sizeof(union cdu_context) != 1024) {\n /* we currently assume that a context is 1024 bytes */\n-\t\tPMD_DRV_LOG(NOTICE,\n+\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t    \"please adjust the size of cdu_context(%ld)\",\n \t\t\t    (long)sizeof(union cdu_context));\n \t}\n@@ -10405,17 +10420,17 @@ static int bnx2x_init_hw_common(struct bnx2x_softc *sc)\n \t/* finish CFC init */\n \tval = reg_poll(sc, CFC_REG_LL_INIT_DONE, 1, 100, 10);\n \tif (val != 1) {\n-\t\tPMD_DRV_LOG(NOTICE, \"CFC LL_INIT failed\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"CFC LL_INIT failed\");\n \t\treturn -1;\n \t}\n \tval = reg_poll(sc, CFC_REG_AC_INIT_DONE, 1, 100, 10);\n \tif (val != 1) {\n-\t\tPMD_DRV_LOG(NOTICE, \"CFC AC_INIT failed\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"CFC AC_INIT failed\");\n \t\treturn -1;\n \t}\n \tval = reg_poll(sc, CFC_REG_CAM_INIT_DONE, 1, 100, 10);\n \tif (val != 1) {\n-\t\tPMD_DRV_LOG(NOTICE, \"CFC CAM_INIT failed\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"CFC CAM_INIT failed\");\n \t\treturn -1;\n \t}\n \tREG_WR(sc, CFC_REG_DEBUG0, 0);\n@@ -10468,7 +10483,7 @@ static int bnx2x_init_hw_port(struct bnx2x_softc *sc)\n \tuint32_t low, high;\n \tuint32_t val;\n \n-\tPMD_DRV_LOG(DEBUG, \"starting port init for port %d\", port);\n+\tPMD_DRV_LOG(DEBUG, sc, \"starting port init for port %d\", port);\n \n \tREG_WR(sc, NIG_REG_MASK_INTERRUPT_PORT0 + port * 4, 0);\n \n@@ -10695,7 +10710,7 @@ static int bnx2x_init_hw_port(struct bnx2x_softc *sc)\n \tuint32_t val = bnx2x_flr_clnup_reg_poll(sc, reg, 0, poll_cnt);\n \n \tif (val != 0) {\n-\t\tPMD_DRV_LOG(NOTICE, \"%s usage count=%d\", msg, val);\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"%s usage count=%d\", msg, val);\n \t\treturn -1;\n \t}\n \n@@ -10787,7 +10802,7 @@ static int bnx2x_poll_hw_usage_counters(struct bnx2x_softc *sc, uint32_t poll_cn\n \tint ret = 0;\n \n \tif (REG_RD(sc, comp_addr)) {\n-\t\tPMD_DRV_LOG(NOTICE,\n+\t\tPMD_DRV_LOG(NOTICE, sc,\n \t\t\t    \"Cleanup complete was not 0 before sending\");\n \t\treturn -1;\n \t}\n@@ -10800,8 +10815,8 @@ static int bnx2x_poll_hw_usage_counters(struct bnx2x_softc *sc, uint32_t poll_cn\n \tREG_WR(sc, XSDM_REG_OPERATION_GEN, op_gen_command);\n \n \tif (bnx2x_flr_clnup_reg_poll(sc, comp_addr, 1, poll_cnt) != 1) {\n-\t\tPMD_DRV_LOG(NOTICE, \"FW final cleanup did not succeed\");\n-\t\tPMD_DRV_LOG(DEBUG, \"At timeout completion address contained %x\",\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"FW final cleanup did not succeed\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"At timeout completion address contained %x\",\n \t\t\t    (REG_RD(sc, comp_addr)));\n \t\trte_panic(\"FLR cleanup failed\");\n \t\treturn -1;\n@@ -10917,28 +10932,30 @@ static void bnx2x_hw_enable_status(struct bnx2x_softc *sc)\n \t__rte_unused uint32_t val;\n \n \tval = REG_RD(sc, CFC_REG_WEAK_ENABLE_PF);\n-\tPMD_DRV_LOG(DEBUG, \"CFC_REG_WEAK_ENABLE_PF is 0x%x\", val);\n+\tPMD_DRV_LOG(DEBUG, sc, \"CFC_REG_WEAK_ENABLE_PF is 0x%x\", val);\n \n \tval = REG_RD(sc, PBF_REG_DISABLE_PF);\n-\tPMD_DRV_LOG(DEBUG, \"PBF_REG_DISABLE_PF is 0x%x\", val);\n+\tPMD_DRV_LOG(DEBUG, sc, \"PBF_REG_DISABLE_PF is 0x%x\", val);\n \n \tval = REG_RD(sc, IGU_REG_PCI_PF_MSI_EN);\n-\tPMD_DRV_LOG(DEBUG, \"IGU_REG_PCI_PF_MSI_EN is 0x%x\", val);\n+\tPMD_DRV_LOG(DEBUG, sc, \"IGU_REG_PCI_PF_MSI_EN is 0x%x\", val);\n \n \tval = REG_RD(sc, IGU_REG_PCI_PF_MSIX_EN);\n-\tPMD_DRV_LOG(DEBUG, \"IGU_REG_PCI_PF_MSIX_EN is 0x%x\", val);\n+\tPMD_DRV_LOG(DEBUG, sc, \"IGU_REG_PCI_PF_MSIX_EN is 0x%x\", val);\n \n \tval = REG_RD(sc, IGU_REG_PCI_PF_MSIX_FUNC_MASK);\n-\tPMD_DRV_LOG(DEBUG, \"IGU_REG_PCI_PF_MSIX_FUNC_MASK is 0x%x\", val);\n+\tPMD_DRV_LOG(DEBUG, sc, \"IGU_REG_PCI_PF_MSIX_FUNC_MASK is 0x%x\", val);\n \n \tval = REG_RD(sc, PGLUE_B_REG_SHADOW_BME_PF_7_0_CLR);\n-\tPMD_DRV_LOG(DEBUG, \"PGLUE_B_REG_SHADOW_BME_PF_7_0_CLR is 0x%x\", val);\n+\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t    \"PGLUE_B_REG_SHADOW_BME_PF_7_0_CLR is 0x%x\", val);\n \n \tval = REG_RD(sc, PGLUE_B_REG_FLR_REQUEST_PF_7_0_CLR);\n-\tPMD_DRV_LOG(DEBUG, \"PGLUE_B_REG_FLR_REQUEST_PF_7_0_CLR is 0x%x\", val);\n+\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t    \"PGLUE_B_REG_FLR_REQUEST_PF_7_0_CLR is 0x%x\", val);\n \n \tval = REG_RD(sc, PGLUE_B_REG_INTERNAL_PFID_ENABLE_MASTER);\n-\tPMD_DRV_LOG(DEBUG, \"PGLUE_B_REG_INTERNAL_PFID_ENABLE_MASTER is 0x%x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"PGLUE_B_REG_INTERNAL_PFID_ENABLE_MASTER is 0x%x\",\n \t\t    val);\n }\n \n@@ -10982,7 +10999,7 @@ static int bnx2x_pf_flr_clnup(struct bnx2x_softc *sc)\n \n \t/* Verify no pending pci transactions */\n \tif (bnx2x_is_pcie_pending(sc)) {\n-\t\tPMD_DRV_LOG(NOTICE, \"PCIE Transactions still pending\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"PCIE Transactions still pending\");\n \t}\n \n \t/* Debug */\n@@ -11009,13 +11026,13 @@ static int bnx2x_init_hw_func(struct bnx2x_softc *sc)\n \tint main_mem_width, rc;\n \tuint32_t i;\n \n-\tPMD_DRV_LOG(DEBUG, \"starting func init for func %d\", func);\n+\tPMD_DRV_LOG(DEBUG, sc, \"starting func init for func %d\", func);\n \n \t/* FLR cleanup */\n \tif (!CHIP_IS_E1x(sc)) {\n \t\trc = bnx2x_pf_flr_clnup(sc);\n \t\tif (rc) {\n-\t\t\tPMD_DRV_LOG(NOTICE, \"FLR cleanup failed!\");\n+\t\t\tPMD_DRV_LOG(NOTICE, sc, \"FLR cleanup failed!\");\n \t\t\treturn rc;\n \t\t}\n \t}\n@@ -11262,7 +11279,7 @@ static int bnx2x_init_hw_func(struct bnx2x_softc *sc)\n \n \t\tval = REG_RD(sc, main_mem_prty_clr);\n \t\tif (val) {\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t    \"Parity errors in HC block during function init (0x%x)!\",\n \t\t\t\t    val);\n \t\t}\n@@ -11300,7 +11317,7 @@ static void bnx2x_link_reset(struct bnx2x_softc *sc)\n \t\telink_lfa_reset(&sc->link_params, &sc->link_vars);\n \t} else {\n \t\tif (!CHIP_REV_IS_SLOW(sc)) {\n-\t\t\tPMD_DRV_LOG(WARNING,\n+\t\t\tPMD_DRV_LOG(WARNING, sc,\n \t\t\t\t    \"Bootcode is missing - cannot reset link\");\n \t\t}\n \t}\n@@ -11330,7 +11347,7 @@ static void bnx2x_reset_port(struct bnx2x_softc *sc)\n \t/* Check for BRB port occupancy */\n \tval = REG_RD(sc, BRB1_REG_PORT_NUM_OCC_BLOCKS_0 + port * 4);\n \tif (val) {\n-\t\tPMD_DRV_LOG(DEBUG,\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t    \"BRB1 is not empty, %d blocks are occupied\", val);\n \t}\n }\n@@ -11524,10 +11541,10 @@ static int ecore_gunzip(struct bnx2x_softc *sc, const uint8_t * zbuf, int len)\n \tint ret;\n \tint data_begin = cut_gzip_prefix(zbuf, len);\n \n-\tPMD_DRV_LOG(DEBUG, \"ecore_gunzip %d\", len);\n+\tPMD_DRV_LOG(DEBUG, sc, \"ecore_gunzip %d\", len);\n \n \tif (data_begin <= 0) {\n-\t\tPMD_DRV_LOG(NOTICE, \"bad gzip prefix\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"bad gzip prefix\");\n \t\treturn -1;\n \t}\n \n@@ -11539,19 +11556,19 @@ static int ecore_gunzip(struct bnx2x_softc *sc, const uint8_t * zbuf, int len)\n \n \tret = inflateInit2(&zlib_stream, -MAX_WBITS);\n \tif (ret != Z_OK) {\n-\t\tPMD_DRV_LOG(NOTICE, \"zlib inflateInit2 error\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"zlib inflateInit2 error\");\n \t\treturn ret;\n \t}\n \n \tret = inflate(&zlib_stream, Z_FINISH);\n \tif ((ret != Z_STREAM_END) && (ret != Z_OK)) {\n-\t\tPMD_DRV_LOG(NOTICE, \"zlib inflate error: %d %s\", ret,\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"zlib inflate error: %d %s\", ret,\n \t\t\t    zlib_stream.msg);\n \t}\n \n \tsc->gz_outlen = zlib_stream.total_out;\n \tif (sc->gz_outlen & 0x3) {\n-\t\tPMD_DRV_LOG(NOTICE, \"firmware is not aligned. gz_outlen == %d\",\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"firmware is not aligned. gz_outlen == %d\",\n \t\t\t    sc->gz_outlen);\n \t}\n \tsc->gz_outlen >>= 2;\n@@ -11670,7 +11687,7 @@ void bnx2x_print_adapter_info(struct bnx2x_softc *sc)\n \tint i = 0;\n \t__rte_unused uint32_t ext_phy_type;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \tif (sc->link_vars.phy_flags & PHY_XGXS_FLAG)\n \t\text_phy_type = ELINK_XGXS_EXT_PHY_TYPE(REG_RD(sc,\n \t\t\t\t\t\t\t      sc->\n@@ -11689,97 +11706,102 @@ void bnx2x_print_adapter_info(struct bnx2x_softc *sc)\n \t\t\t\t\t\t\t\t\t dev_info.port_hw_config\n \t\t\t\t\t\t\t\t\t [0].external_phy_config)));\n \n-\tPMD_INIT_LOG(DEBUG, \"\\n\\n===================================\\n\");\n+\tPMD_DRV_LOG(INFO, sc, \"\\n\\n===================================\\n\");\n \t/* Hardware chip info. */\n-\tPMD_INIT_LOG(DEBUG, \"%12s : %#08x\", \"ASIC\", sc->devinfo.chip_id);\n-\tPMD_INIT_LOG(DEBUG, \"%12s : %c%d\", \"Rev\", (CHIP_REV(sc) >> 12) + 'A',\n+\tPMD_DRV_LOG(INFO, sc, \"%12s : %#08x\", \"ASIC\", sc->devinfo.chip_id);\n+\tPMD_DRV_LOG(INFO, sc, \"%12s : %c%d\", \"Rev\", (CHIP_REV(sc) >> 12) + 'A',\n \t\t     (CHIP_METAL(sc) >> 4));\n \n \t/* Bus info. */\n-\tPMD_INIT_LOG(DEBUG, \"%12s : %d, \", \"Bus PCIe\", sc->devinfo.pcie_link_width);\n+\tPMD_DRV_LOG(INFO, sc,\n+\t\t    \"%12s : %d, \", \"Bus PCIe\", sc->devinfo.pcie_link_width);\n \tswitch (sc->devinfo.pcie_link_speed) {\n \tcase 1:\n-\t\tPMD_INIT_LOG(DEBUG, \"%23s\", \"2.5 Gbps\");\n+\t\tPMD_DRV_LOG(INFO, sc, \"%23s\", \"2.5 Gbps\");\n \t\tbreak;\n \tcase 2:\n-\t\tPMD_INIT_LOG(DEBUG, \"%21s\", \"5 Gbps\");\n+\t\tPMD_DRV_LOG(INFO, sc, \"%21s\", \"5 Gbps\");\n \t\tbreak;\n \tcase 4:\n-\t\tPMD_INIT_LOG(DEBUG, \"%21s\", \"8 Gbps\");\n+\t\tPMD_DRV_LOG(INFO, sc, \"%21s\", \"8 Gbps\");\n \t\tbreak;\n \tdefault:\n-\t\tPMD_INIT_LOG(DEBUG, \"%33s\", \"Unknown link speed\");\n+\t\tPMD_DRV_LOG(INFO, sc, \"%33s\", \"Unknown link speed\");\n \t}\n \n \t/* Device features. */\n-\tPMD_INIT_LOG(DEBUG, \"%12s : \", \"Flags\");\n+\tPMD_DRV_LOG(INFO, sc, \"%12s : \", \"Flags\");\n \n \t/* Miscellaneous flags. */\n \tif (sc->devinfo.pcie_cap_flags & BNX2X_MSI_CAPABLE_FLAG) {\n-\t\tPMD_INIT_LOG(DEBUG, \"%18s\", \"MSI\");\n+\t\tPMD_DRV_LOG(INFO, sc, \"%18s\", \"MSI\");\n \t\ti++;\n \t}\n \n \tif (sc->devinfo.pcie_cap_flags & BNX2X_MSIX_CAPABLE_FLAG) {\n \t\tif (i > 0)\n-\t\t\tPMD_INIT_LOG(DEBUG, \"|\");\n-\t\tPMD_INIT_LOG(DEBUG, \"%20s\", \"MSI-X\");\n+\t\t\tPMD_DRV_LOG(INFO, sc, \"|\");\n+\t\tPMD_DRV_LOG(INFO, sc, \"%20s\", \"MSI-X\");\n \t\ti++;\n \t}\n \n \tif (IS_PF(sc)) {\n-\t\tPMD_INIT_LOG(DEBUG, \"%12s : \", \"Queues\");\n+\t\tPMD_DRV_LOG(INFO, sc, \"%12s : \", \"Queues\");\n \t\tswitch (sc->sp->rss_rdata.rss_mode) {\n \t\tcase ETH_RSS_MODE_DISABLED:\n-\t\t\tPMD_INIT_LOG(DEBUG, \"%19s\", \"None\");\n+\t\t\tPMD_DRV_LOG(INFO, sc, \"%19s\", \"None\");\n \t\t\tbreak;\n \t\tcase ETH_RSS_MODE_REGULAR:\n-\t\t\tPMD_INIT_LOG(DEBUG, \"%18s : %d\", \"RSS\", sc->num_queues);\n+\t\t\tPMD_DRV_LOG(INFO, sc,\n+\t\t\t\t    \"%18s : %d\", \"RSS\", sc->num_queues);\n \t\t\tbreak;\n \t\tdefault:\n-\t\t\tPMD_INIT_LOG(DEBUG, \"%22s\", \"Unknown\");\n+\t\t\tPMD_DRV_LOG(INFO, sc, \"%22s\", \"Unknown\");\n \t\t\tbreak;\n \t\t}\n \t}\n \n \t/* RTE and Driver versions */\n-\tPMD_INIT_LOG(DEBUG, \"%12s : %s\", \"DPDK\",\n-\t\t     rte_version());\n-\tPMD_INIT_LOG(DEBUG, \"%12s : %s\", \"Driver\",\n-\t\t     bnx2x_pmd_version());\n+\tPMD_DRV_LOG(INFO, sc, \"%12s : %s\", \"DPDK\",\n+\t\t\trte_version());\n+\tPMD_DRV_LOG(INFO, sc, \"%12s : %s\", \"Driver\",\n+\t\t\tbnx2x_pmd_version());\n \n \t/* Firmware versions and device features. */\n-\tPMD_INIT_LOG(DEBUG, \"%12s : %d.%d.%d\",\n+\tPMD_DRV_LOG(INFO, sc, \"%12s : %d.%d.%d\",\n \t\t     \"Firmware\",\n \t\t     BNX2X_5710_FW_MAJOR_VERSION,\n \t\t     BNX2X_5710_FW_MINOR_VERSION,\n \t\t     BNX2X_5710_FW_REVISION_VERSION);\n-\tPMD_INIT_LOG(DEBUG, \"%12s : %s\",\n+\tPMD_DRV_LOG(INFO, sc, \"%12s : %s\",\n \t\t     \"Bootcode\", sc->devinfo.bc_ver_str);\n \n-\tPMD_INIT_LOG(DEBUG, \"\\n\\n===================================\\n\");\n-\tPMD_INIT_LOG(DEBUG, \"%12s : %u\", \"Bnx2x Func\", sc->pcie_func);\n-\tPMD_INIT_LOG(DEBUG, \"%12s : %s\", \"Bnx2x Flags\", get_bnx2x_flags(sc->flags));\n-\tPMD_INIT_LOG(DEBUG, \"%12s : %s\", \"DMAE Is\",\n+\tPMD_DRV_LOG(INFO, sc, \"\\n\\n===================================\\n\");\n+\tPMD_DRV_LOG(INFO, sc, \"%12s : %u\", \"Bnx2x Func\", sc->pcie_func);\n+\tPMD_DRV_LOG(INFO, sc,\n+\t\t    \"%12s : %s\", \"Bnx2x Flags\", get_bnx2x_flags(sc->flags));\n+\tPMD_DRV_LOG(INFO, sc, \"%12s : %s\", \"DMAE Is\",\n \t\t     (sc->dmae_ready ? \"Ready\" : \"Not Ready\"));\n-\tPMD_INIT_LOG(DEBUG, \"%12s : %s\", \"OVLAN\", (OVLAN(sc) ? \"YES\" : \"NO\"));\n-\tPMD_INIT_LOG(DEBUG, \"%12s : %s\", \"MF\", (IS_MF(sc) ? \"YES\" : \"NO\"));\n-\tPMD_INIT_LOG(DEBUG, \"%12s : %u\", \"MTU\", sc->mtu);\n-\tPMD_INIT_LOG(DEBUG, \"%12s : %s\", \"PHY Type\", get_ext_phy_type(ext_phy_type));\n-\tPMD_INIT_LOG(DEBUG, \"%12s : %x:%x:%x:%x:%x:%x\", \"MAC Addr\",\n+\tPMD_DRV_LOG(INFO, sc, \"%12s : %s\", \"OVLAN\", (OVLAN(sc) ? \"YES\" : \"NO\"));\n+\tPMD_DRV_LOG(INFO, sc, \"%12s : %s\", \"MF\", (IS_MF(sc) ? \"YES\" : \"NO\"));\n+\tPMD_DRV_LOG(INFO, sc, \"%12s : %u\", \"MTU\", sc->mtu);\n+\tPMD_DRV_LOG(INFO, sc,\n+\t\t    \"%12s : %s\", \"PHY Type\", get_ext_phy_type(ext_phy_type));\n+\tPMD_DRV_LOG(INFO, sc, \"%12s : %x:%x:%x:%x:%x:%x\", \"MAC Addr\",\n \t\t\tsc->link_params.mac_addr[0],\n \t\t\tsc->link_params.mac_addr[1],\n \t\t\tsc->link_params.mac_addr[2],\n \t\t\tsc->link_params.mac_addr[3],\n \t\t\tsc->link_params.mac_addr[4],\n \t\t\tsc->link_params.mac_addr[5]);\n-\tPMD_INIT_LOG(DEBUG, \"%12s : %s\", \"RX Mode\", get_rx_mode(sc->rx_mode));\n-\tPMD_INIT_LOG(DEBUG, \"%12s : %s\", \"State\", get_state(sc->state));\n+\tPMD_DRV_LOG(INFO, sc, \"%12s : %s\", \"RX Mode\", get_rx_mode(sc->rx_mode));\n+\tPMD_DRV_LOG(INFO, sc, \"%12s : %s\", \"State\", get_state(sc->state));\n \tif (sc->recovery_state)\n-\t\tPMD_INIT_LOG(DEBUG, \"%12s : %s\", \"Recovery\",\n+\t\tPMD_DRV_LOG(INFO, sc, \"%12s : %s\", \"Recovery\",\n \t\t\t     get_recovery_state(sc->recovery_state));\n-\tPMD_INIT_LOG(DEBUG, \"%12s : CQ = %lx,  EQ = %lx\", \"SPQ Left\",\n+\tPMD_DRV_LOG(INFO, sc, \"%12s : CQ = %lx,  EQ = %lx\", \"SPQ Left\",\n \t\t     sc->cq_spq_left, sc->eq_spq_left);\n-\tPMD_INIT_LOG(DEBUG, \"%12s : %x\", \"Switch\", sc->link_params.switch_cfg);\n-\tPMD_INIT_LOG(DEBUG, \"\\n\\n===================================\\n\");\n+\tPMD_DRV_LOG(INFO, sc,\n+\t\t    \"%12s : %x\", \"Switch\", sc->link_params.switch_cfg);\n+\tPMD_DRV_LOG(INFO, sc, \"\\n\\n===================================\\n\");\n }\ndiff --git a/drivers/net/bnx2x/bnx2x.h b/drivers/net/bnx2x/bnx2x.h\nindex 0f6024f..2d545f5 100644\n--- a/drivers/net/bnx2x/bnx2x.h\n+++ b/drivers/net/bnx2x/bnx2x.h\n@@ -803,6 +803,10 @@ struct bnx2x_mf_info {\n \n /* Device information data structure. */\n struct bnx2x_devinfo {\n+#if 1\n+#define NAME_SIZE 128\n+\tchar name[NAME_SIZE];\n+#endif\n \t/* PCIe info */\n \tuint16_t vendor_id;\n \tuint16_t device_id;\n@@ -1418,7 +1422,7 @@ struct bnx2x_func_init_params {\n static inline void\n bnx2x_reg_write8(struct bnx2x_softc *sc, size_t offset, uint8_t val)\n {\n-\tPMD_DEBUG_PERIODIC_LOG(DEBUG, \"offset=0x%08lx val=0x%02x\",\n+\tPMD_DEBUG_PERIODIC_LOG(DEBUG, sc, \"offset=0x%08lx val=0x%02x\",\n \t\t\t       (unsigned long)offset, val);\n \trte_write8(val, ((uint8_t *)sc->bar[BAR0].base_addr + offset));\n }\n@@ -1428,10 +1432,10 @@ struct bnx2x_func_init_params {\n {\n #ifdef RTE_LIBRTE_BNX2X_DEBUG_PERIODIC\n \tif ((offset % 2) != 0)\n-\t\tPMD_DRV_LOG(NOTICE, \"Unaligned 16-bit write to 0x%08lx\",\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Unaligned 16-bit write to 0x%08lx\",\n \t\t\t    (unsigned long)offset);\n #endif\n-\tPMD_DEBUG_PERIODIC_LOG(DEBUG, \"offset=0x%08lx val=0x%04x\",\n+\tPMD_DEBUG_PERIODIC_LOG(DEBUG, sc, \"offset=0x%08lx val=0x%04x\",\n \t\t\t       (unsigned long)offset, val);\n \trte_write16(val, ((uint8_t *)sc->bar[BAR0].base_addr + offset));\n \n@@ -1442,11 +1446,11 @@ struct bnx2x_func_init_params {\n {\n #ifdef RTE_LIBRTE_BNX2X_DEBUG_PERIODIC\n \tif ((offset % 4) != 0)\n-\t\tPMD_DRV_LOG(NOTICE, \"Unaligned 32-bit write to 0x%08lx\",\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Unaligned 32-bit write to 0x%08lx\",\n \t\t\t    (unsigned long)offset);\n #endif\n \n-\tPMD_DEBUG_PERIODIC_LOG(DEBUG, \"offset=0x%08lx val=0x%08x\",\n+\tPMD_DEBUG_PERIODIC_LOG(DEBUG, sc, \"offset=0x%08lx val=0x%08x\",\n \t\t\t       (unsigned long)offset, val);\n \trte_write32(val, ((uint8_t *)sc->bar[BAR0].base_addr + offset));\n }\n@@ -1457,7 +1461,7 @@ struct bnx2x_func_init_params {\n \tuint8_t val;\n \n \tval = rte_read8((uint8_t *)sc->bar[BAR0].base_addr + offset);\n-\tPMD_DEBUG_PERIODIC_LOG(DEBUG, \"offset=0x%08lx val=0x%02x\",\n+\tPMD_DEBUG_PERIODIC_LOG(DEBUG, sc, \"offset=0x%08lx val=0x%02x\",\n \t\t\t       (unsigned long)offset, val);\n \n \treturn val;\n@@ -1470,12 +1474,12 @@ struct bnx2x_func_init_params {\n \n #ifdef RTE_LIBRTE_BNX2X_DEBUG_PERIODIC\n \tif ((offset % 2) != 0)\n-\t\tPMD_DRV_LOG(NOTICE, \"Unaligned 16-bit read from 0x%08lx\",\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Unaligned 16-bit read from 0x%08lx\",\n \t\t\t    (unsigned long)offset);\n #endif\n \n \tval = rte_read16(((uint8_t *)sc->bar[BAR0].base_addr + offset));\n-\tPMD_DEBUG_PERIODIC_LOG(DEBUG, \"offset=0x%08lx val=0x%08x\",\n+\tPMD_DEBUG_PERIODIC_LOG(DEBUG, sc, \"offset=0x%08lx val=0x%08x\",\n \t\t\t       (unsigned long)offset, val);\n \n \treturn val;\n@@ -1488,12 +1492,12 @@ struct bnx2x_func_init_params {\n \n #ifdef RTE_LIBRTE_BNX2X_DEBUG_PERIODIC\n \tif ((offset % 4) != 0)\n-\t\tPMD_DRV_LOG(NOTICE, \"Unaligned 32-bit read from 0x%08lx\",\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Unaligned 32-bit read from 0x%08lx\",\n \t\t\t    (unsigned long)offset);\n #endif\n \n \tval = rte_read32(((uint8_t *)sc->bar[BAR0].base_addr + offset));\n-\tPMD_DEBUG_PERIODIC_LOG(DEBUG, \"offset=0x%08lx val=0x%08x\",\n+\tPMD_DEBUG_PERIODIC_LOG(DEBUG, sc, \"offset=0x%08lx val=0x%08x\",\n \t\t\t       (unsigned long)offset, val);\n \n \treturn val;\n@@ -1970,7 +1974,7 @@ int bnx2x_vf_setup_queue(struct bnx2x_softc *sc, struct bnx2x_fastpath *fp,\n \t\t\tbnx2x_vf_set_rx_mode(sc);\n \t\t}\n \t} else {\n-\t\tPMD_DRV_LOG(NOTICE, \"Card is not ready to change mode\");\n+\t\tPMD_DRV_LOG(NOTICE, sc, \"Card is not ready to change mode\");\n \t}\n }\n \n@@ -1978,7 +1982,7 @@ static inline int pci_read(struct bnx2x_softc *sc, size_t addr,\n \t\t\t   void *val, uint8_t size)\n {\n \tif (rte_pci_read_config(sc->pci_dev, val, size, addr) <= 0) {\n-\t\tPMD_DRV_LOG(ERR, \"Can't read from PCI config space\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"Can't read from PCI config space\");\n \t\treturn ENXIO;\n \t}\n \n@@ -1991,7 +1995,7 @@ static inline int pci_write_word(struct bnx2x_softc *sc, size_t addr, off_t val)\n \n \tif (rte_pci_write_config(sc->pci_dev, &val16,\n \t\t\t\t     sizeof(val16), addr) <= 0) {\n-\t\tPMD_DRV_LOG(ERR, \"Can't write to PCI config space\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"Can't write to PCI config space\");\n \t\treturn ENXIO;\n \t}\n \n@@ -2003,7 +2007,7 @@ static inline int pci_write_long(struct bnx2x_softc *sc, size_t addr, off_t val)\n \tuint32_t val32 = val;\n \tif (rte_pci_write_config(sc->pci_dev, &val32,\n \t\t\t\t     sizeof(val32), addr) <= 0) {\n-\t\tPMD_DRV_LOG(ERR, \"Can't write to PCI config space\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"Can't write to PCI config space\");\n \t\treturn ENXIO;\n \t}\n \ndiff --git a/drivers/net/bnx2x/bnx2x_ethdev.c b/drivers/net/bnx2x/bnx2x_ethdev.c\nindex 575271a..ae2e60a 100644\n--- a/drivers/net/bnx2x/bnx2x_ethdev.c\n+++ b/drivers/net/bnx2x/bnx2x_ethdev.c\n@@ -85,7 +85,7 @@ struct rte_bnx2x_xstats_name_off {\n \tstruct bnx2x_softc *sc = dev->data->dev_private;\n \tstruct rte_eth_link link;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \tbnx2x_link_status_update(sc);\n \tmemset(&link, 0, sizeof(link));\n@@ -129,7 +129,7 @@ struct rte_bnx2x_xstats_name_off {\n \tstruct rte_eth_dev *dev = (struct rte_eth_dev *)param;\n \tstruct bnx2x_softc *sc = dev->data->dev_private;\n \n-\tPMD_DEBUG_PERIODIC_LOG(INFO, \"Interrupt handled\");\n+\tPMD_DEBUG_PERIODIC_LOG(INFO, sc, \"Interrupt handled\");\n \n \tbnx2x_interrupt_action(dev);\n \trte_intr_enable(&sc->pci_dev->intr_handle);\n@@ -147,8 +147,8 @@ static void bnx2x_periodic_start(void *param)\n \t\tret = rte_eal_alarm_set(BNX2X_SP_TIMER_PERIOD,\n \t\t\t\t\tbnx2x_periodic_start, (void *)dev);\n \t\tif (ret) {\n-\t\t\tPMD_DRV_LOG(ERR, \"Unable to start periodic\"\n-\t\t\t\t\t \" timer rc %d\", ret);\n+\t\t\tPMD_DRV_LOG(ERR, sc, \"Unable to start periodic\"\n+\t\t\t\t\t     \" timer rc %d\", ret);\n \t\t\tassert(false && \"Unable to start periodic timer\");\n \t\t}\n \t}\n@@ -176,34 +176,34 @@ void bnx2x_periodic_stop(void *param)\n \n \tint mp_ncpus = sysconf(_SC_NPROCESSORS_CONF);\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \tif (rxmode->offloads & DEV_RX_OFFLOAD_JUMBO_FRAME)\n \t\tsc->mtu = dev->data->dev_conf.rxmode.max_rx_pkt_len;\n \n \tif (dev->data->nb_tx_queues > dev->data->nb_rx_queues) {\n-\t\tPMD_DRV_LOG(ERR, \"The number of TX queues is greater than number of RX queues\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"The number of TX queues is greater than number of RX queues\");\n \t\treturn -EINVAL;\n \t}\n \n \tsc->num_queues = MAX(dev->data->nb_rx_queues, dev->data->nb_tx_queues);\n \tif (sc->num_queues > mp_ncpus) {\n-\t\tPMD_DRV_LOG(ERR, \"The number of queues is more than number of CPUs\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"The number of queues is more than number of CPUs\");\n \t\treturn -EINVAL;\n \t}\n \n-\tPMD_DRV_LOG(DEBUG, \"num_queues=%d, mtu=%d\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"num_queues=%d, mtu=%d\",\n \t\t       sc->num_queues, sc->mtu);\n \n \t/* allocate ilt */\n \tif (bnx2x_alloc_ilt_mem(sc) != 0) {\n-\t\tPMD_DRV_LOG(ERR, \"bnx2x_alloc_ilt_mem was failed\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"bnx2x_alloc_ilt_mem was failed\");\n \t\treturn -ENXIO;\n \t}\n \n \t/* allocate the host hardware/software hsi structures */\n \tif (bnx2x_alloc_hsi_mem(sc) != 0) {\n-\t\tPMD_DRV_LOG(ERR, \"bnx2x_alloc_hsi_mem was failed\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"bnx2x_alloc_hsi_mem was failed\");\n \t\tbnx2x_free_ilt_mem(sc);\n \t\treturn -ENXIO;\n \t}\n@@ -217,7 +217,7 @@ void bnx2x_periodic_stop(void *param)\n \tstruct bnx2x_softc *sc = dev->data->dev_private;\n \tint ret = 0;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \t/* start the periodic callout */\n \tif (sc->periodic_flags & PERIODIC_STOP)\n@@ -225,7 +225,7 @@ void bnx2x_periodic_stop(void *param)\n \n \tret = bnx2x_init(sc);\n \tif (ret) {\n-\t\tPMD_DRV_LOG(DEBUG, \"bnx2x_init failed (%d)\", ret);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"bnx2x_init failed (%d)\", ret);\n \t\treturn -1;\n \t}\n \n@@ -234,12 +234,12 @@ void bnx2x_periodic_stop(void *param)\n \t\t\t\tbnx2x_interrupt_handler, (void *)dev);\n \n \t\tif (rte_intr_enable(&sc->pci_dev->intr_handle))\n-\t\t\tPMD_DRV_LOG(ERR, \"rte_intr_enable failed\");\n+\t\t\tPMD_DRV_LOG(ERR, sc, \"rte_intr_enable failed\");\n \t}\n \n \tret = bnx2x_dev_rx_init(dev);\n \tif (ret != 0) {\n-\t\tPMD_DRV_LOG(DEBUG, \"bnx2x_dev_rx_init returned error code\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"bnx2x_dev_rx_init returned error code\");\n \t\treturn -3;\n \t}\n \n@@ -255,7 +255,7 @@ void bnx2x_periodic_stop(void *param)\n \tstruct bnx2x_softc *sc = dev->data->dev_private;\n \tint ret = 0;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \tif (IS_PF(sc)) {\n \t\trte_intr_disable(&sc->pci_dev->intr_handle);\n@@ -268,7 +268,7 @@ void bnx2x_periodic_stop(void *param)\n \n \tret = bnx2x_nic_unload(sc, UNLOAD_NORMAL, FALSE);\n \tif (ret) {\n-\t\tPMD_DRV_LOG(DEBUG, \"bnx2x_nic_unload failed (%d)\", ret);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"bnx2x_nic_unload failed (%d)\", ret);\n \t\treturn;\n \t}\n \n@@ -280,7 +280,7 @@ void bnx2x_periodic_stop(void *param)\n {\n \tstruct bnx2x_softc *sc = dev->data->dev_private;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \tif (IS_VF(sc))\n \t\tbnx2x_vf_close(sc);\n@@ -300,7 +300,7 @@ void bnx2x_periodic_stop(void *param)\n {\n \tstruct bnx2x_softc *sc = dev->data->dev_private;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \tsc->rx_mode = BNX2X_RX_MODE_PROMISC;\n \tif (rte_eth_allmulticast_get(dev->data->port_id) == 1)\n \t\tsc->rx_mode = BNX2X_RX_MODE_ALLMULTI_PROMISC;\n@@ -312,7 +312,7 @@ void bnx2x_periodic_stop(void *param)\n {\n \tstruct bnx2x_softc *sc = dev->data->dev_private;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \tsc->rx_mode = BNX2X_RX_MODE_NORMAL;\n \tif (rte_eth_allmulticast_get(dev->data->port_id) == 1)\n \t\tsc->rx_mode = BNX2X_RX_MODE_ALLMULTI;\n@@ -324,7 +324,7 @@ void bnx2x_periodic_stop(void *param)\n {\n \tstruct bnx2x_softc *sc = dev->data->dev_private;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \tsc->rx_mode = BNX2X_RX_MODE_ALLMULTI;\n \tif (rte_eth_promiscuous_get(dev->data->port_id) == 1)\n \t\tsc->rx_mode = BNX2X_RX_MODE_ALLMULTI_PROMISC;\n@@ -336,7 +336,7 @@ void bnx2x_periodic_stop(void *param)\n {\n \tstruct bnx2x_softc *sc = dev->data->dev_private;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \tsc->rx_mode = BNX2X_RX_MODE_NORMAL;\n \tif (rte_eth_promiscuous_get(dev->data->port_id) == 1)\n \t\tsc->rx_mode = BNX2X_RX_MODE_PROMISC;\n@@ -346,7 +346,9 @@ void bnx2x_periodic_stop(void *param)\n static int\n bnx2x_dev_link_update(struct rte_eth_dev *dev, __rte_unused int wait_to_complete)\n {\n-\tPMD_INIT_FUNC_TRACE();\n+\tstruct bnx2x_softc *sc = dev->data->dev_private;\n+\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \treturn bnx2x_link_update(dev);\n }\n@@ -361,7 +363,7 @@ void bnx2x_periodic_stop(void *param)\n \n \tbnx2x_check_bull(sc);\n \tif (sc->old_bulletin.valid_bitmap & (1 << CHANNEL_DOWN)) {\n-\t\tPMD_DRV_LOG(ERR, \"PF indicated channel is down.\"\n+\t\tPMD_DRV_LOG(ERR, sc, \"PF indicated channel is down.\"\n \t\t\t\t\"VF device is no longer operational\");\n \t\tdev->data->dev_link.link_status = ETH_LINK_DOWN;\n \t}\n@@ -377,7 +379,7 @@ void bnx2x_periodic_stop(void *param)\n \tuint64_t brb_drops;\n \tuint64_t brb_truncates;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \tbnx2x_stats_handle(sc, STATS_EVENT_UPDATE);\n \n@@ -568,27 +570,35 @@ void bnx2x_periodic_stop(void *param)\n {\n \tint ret = 0;\n \tstruct rte_pci_device *pci_dev;\n+\tstruct rte_pci_addr pci_addr;\n \tstruct bnx2x_softc *sc;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\t/* Extract key data structures */\n+\tsc = eth_dev->data->dev_private;\n+\tpci_dev = RTE_DEV_TO_PCI(eth_dev->device);\n+\tpci_addr = pci_dev->addr;\n+\n+\tsnprintf(sc->devinfo.name, NAME_SIZE, PCI_SHORT_PRI_FMT \":dpdk-port-%u\",\n+\t\t pci_addr.bus, pci_addr.devid, pci_addr.function,\n+\t\t eth_dev->data->port_id);\n+\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \teth_dev->dev_ops = is_vf ? &bnx2xvf_eth_dev_ops : &bnx2x_eth_dev_ops;\n-\tpci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);\n \n \trte_eth_copy_pci_info(eth_dev, pci_dev);\n \n-\tsc = eth_dev->data->dev_private;\n \tsc->pcie_bus    = pci_dev->addr.bus;\n \tsc->pcie_device = pci_dev->addr.devid;\n \n-\tif (is_vf)\n-\t\tsc->flags = BNX2X_IS_VF_FLAG;\n-\n \tsc->devinfo.vendor_id    = pci_dev->id.vendor_id;\n \tsc->devinfo.device_id    = pci_dev->id.device_id;\n \tsc->devinfo.subvendor_id = pci_dev->id.subsystem_vendor_id;\n \tsc->devinfo.subdevice_id = pci_dev->id.subsystem_device_id;\n \n+\tif (is_vf)\n+\t\tsc->flags = BNX2X_IS_VF_FLAG;\n+\n \tsc->pcie_func = pci_dev->addr.function;\n \tsc->bar[BAR0].base_addr = (void *)pci_dev->mem_resource[0].addr;\n \tif (is_vf)\n@@ -616,7 +626,7 @@ void bnx2x_periodic_stop(void *param)\n \tsc->pci_dev = pci_dev;\n \tret = bnx2x_attach(sc);\n \tif (ret) {\n-\t\tPMD_DRV_LOG(ERR, \"bnx2x_attach failed (%d)\", ret);\n+\t\tPMD_DRV_LOG(ERR, sc, \"bnx2x_attach failed (%d)\", ret);\n \t\treturn ret;\n \t}\n \n@@ -625,21 +635,21 @@ void bnx2x_periodic_stop(void *param)\n \t\tret = rte_eal_alarm_set(BNX2X_SP_TIMER_PERIOD,\n \t\t\t\t\tbnx2x_periodic_start, (void *)eth_dev);\n \t\tif (ret) {\n-\t\t\tPMD_DRV_LOG(ERR, \"Unable to start periodic\"\n-\t\t\t\t\t  \" timer rc %d\", ret);\n+\t\t\tPMD_DRV_LOG(ERR, sc, \"Unable to start periodic\"\n+\t\t\t\t\t     \" timer rc %d\", ret);\n \t\t\treturn -EINVAL;\n \t\t}\n \t}\n \n \teth_dev->data->mac_addrs = (struct ether_addr *)sc->link_params.mac_addr;\n \n-\tPMD_DRV_LOG(INFO, \"pcie_bus=%d, pcie_device=%d\",\n+\tPMD_DRV_LOG(INFO, sc, \"pcie_bus=%d, pcie_device=%d\",\n \t\t\tsc->pcie_bus, sc->pcie_device);\n-\tPMD_DRV_LOG(INFO, \"bar0.addr=%p, bar1.addr=%p\",\n+\tPMD_DRV_LOG(INFO, sc, \"bar0.addr=%p, bar1.addr=%p\",\n \t\t\tsc->bar[BAR0].base_addr, sc->bar[BAR1].base_addr);\n-\tPMD_DRV_LOG(INFO, \"port=%d, path=%d, vnic=%d, func=%d\",\n+\tPMD_DRV_LOG(INFO, sc, \"port=%d, path=%d, vnic=%d, func=%d\",\n \t\t\tPORT_ID(sc), PATH_ID(sc), VNIC_ID(sc), FUNC_ID(sc));\n-\tPMD_DRV_LOG(INFO, \"portID=%d vendorID=0x%x deviceID=0x%x\",\n+\tPMD_DRV_LOG(INFO, sc, \"portID=%d vendorID=0x%x deviceID=0x%x\",\n \t\t\teth_dev->data->port_id, pci_dev->id.vendor_id, pci_dev->id.device_id);\n \n \tif (IS_VF(sc)) {\n@@ -679,14 +689,16 @@ void bnx2x_periodic_stop(void *param)\n static int\n eth_bnx2x_dev_init(struct rte_eth_dev *eth_dev)\n {\n-\tPMD_INIT_FUNC_TRACE();\n+\tstruct bnx2x_softc *sc = eth_dev->data->dev_private;\n+\tPMD_INIT_FUNC_TRACE(sc);\n \treturn bnx2x_common_dev_init(eth_dev, 0);\n }\n \n static int\n eth_bnx2xvf_dev_init(struct rte_eth_dev *eth_dev)\n {\n-\tPMD_INIT_FUNC_TRACE();\n+\tstruct bnx2x_softc *sc = eth_dev->data->dev_private;\n+\tPMD_INIT_FUNC_TRACE(sc);\n \treturn bnx2x_common_dev_init(eth_dev, 1);\n }\n \ndiff --git a/drivers/net/bnx2x/bnx2x_logs.h b/drivers/net/bnx2x/bnx2x_logs.h\nindex 9e232a9..753bccd 100644\n--- a/drivers/net/bnx2x/bnx2x_logs.h\n+++ b/drivers/net/bnx2x/bnx2x_logs.h\n@@ -9,11 +9,11 @@\n #define _PMD_LOGS_H_\n \n extern int bnx2x_logtype_init;\n-#define PMD_INIT_LOG(level, fmt, args...) \\\n-\trte_log(RTE_LOG_ ## level, bnx2x_logtype_init, \\\n-\t\t\"%s(): \" fmt \"\\n\", __func__, ##args)\n+#define PMD_INIT_LOG(level, sc, fmt, args...) \\\n+\tRTE_LOG(level, PMD, \\\n+\t\"[bnx2x_pmd: %s] %s() \" fmt \"\\n\", (sc)->devinfo.name, __func__, ##args)\n \n-#define PMD_INIT_FUNC_TRACE() PMD_INIT_LOG(DEBUG, \" >>\")\n+#define PMD_INIT_FUNC_TRACE(sc) PMD_INIT_LOG(DEBUG, sc, \" >>\")\n \n #ifdef RTE_LIBRTE_BNX2X_DEBUG_RX\n #define PMD_RX_LOG(level, fmt, args...) \\\n@@ -37,18 +37,19 @@\n #endif\n \n extern int bnx2x_logtype_driver;\n-#define PMD_DRV_LOG_RAW(level, fmt, args...) \\\n-\trte_log(RTE_LOG_ ## level, bnx2x_logtype_driver, \\\n-\t\t\"%s(): \" fmt, __func__, ## args)\n+#define PMD_DRV_LOG_RAW(level, sc, fmt, args...) \\\n+\tRTE_LOG(level, PMD, \"[%s:%d(%s)] \" fmt,\t__func__, __LINE__, \\\n+\t\t(sc)->devinfo.name ? (sc)->devinfo.name : \"\", ## args)\n \n-#define PMD_DRV_LOG(level, fmt, args...) \\\n-\tPMD_DRV_LOG_RAW(level, fmt \"\\n\", ## args)\n+#define PMD_DRV_LOG(level, sc, fmt, args...) \\\n+\tPMD_DRV_LOG_RAW(level, sc, fmt \"\\n\", ## args)\n \n #ifdef RTE_LIBRTE_BNX2X_DEBUG_PERIODIC\n-#define PMD_DEBUG_PERIODIC_LOG(level, fmt, args...) \\\n-\tRTE_LOG(level, PMD, \"%s(): \" fmt \"\\n\", __func__, ## args)\n+#define PMD_DEBUG_PERIODIC_LOG(level, sc, fmt, args...) \\\n+\tRTE_LOG(level, PMD, \"%s(%s): \" fmt \"\\n\", __func__, \\\n+\t\t(sc)->devinfo.name ? (sc)->devinfo.name : \"\", ## args)\n #else\n-#define PMD_DEBUG_PERIODIC_LOG(level, fmt, args...) do { } while(0)\n+#define PMD_DEBUG_PERIODIC_LOG(level, sc, fmt, args...) do { } while (0)\n #endif\n \n #endif /* _PMD_LOGS_H_ */\ndiff --git a/drivers/net/bnx2x/bnx2x_rxtx.c b/drivers/net/bnx2x/bnx2x_rxtx.c\nindex d9a4127..589735e 100644\n--- a/drivers/net/bnx2x/bnx2x_rxtx.c\n+++ b/drivers/net/bnx2x/bnx2x_rxtx.c\n@@ -76,7 +76,7 @@\n \trxq = rte_zmalloc_socket(\"ethdev RX queue\", sizeof(struct bnx2x_rx_queue),\n \t\t\t\t RTE_CACHE_LINE_SIZE, socket_id);\n \tif (NULL == rxq) {\n-\t\tPMD_INIT_LOG(ERR, \"rte_zmalloc for rxq failed!\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"rte_zmalloc for rxq failed!\");\n \t\treturn -ENOMEM;\n \t}\n \trxq->sc = sc;\n@@ -92,7 +92,7 @@\n \tsc->rx_ring_size = USABLE_RX_BD(rxq);\n \trxq->nb_cq_pages = RCQ_BD_PAGES(rxq);\n \n-\tPMD_INIT_LOG(DEBUG, \"fp[%02d] req_bd=%u, usable_bd=%lu, \"\n+\tPMD_DRV_LOG(DEBUG, sc, \"fp[%02d] req_bd=%u, usable_bd=%lu, \"\n \t\t       \"total_bd=%lu, rx_pages=%u, cq_pages=%u\",\n \t\t       queue_idx, nb_desc, (unsigned long)USABLE_RX_BD(rxq),\n \t\t       (unsigned long)TOTAL_RX_BD(rxq), rxq->nb_rx_pages,\n@@ -275,7 +275,7 @@\n \ttxq->tx_free_thresh = min(txq->tx_free_thresh,\n \t\t\t\t  txq->nb_tx_desc - BDS_PER_TX_PKT);\n \n-\tPMD_INIT_LOG(DEBUG, \"fp[%02d] req_bd=%u, thresh=%u, usable_bd=%lu, \"\n+\tPMD_DRV_LOG(DEBUG, sc, \"fp[%02d] req_bd=%u, thresh=%u, usable_bd=%lu, \"\n \t\t     \"total_bd=%lu, tx_pages=%u\",\n \t\t     queue_idx, nb_desc, txq->tx_free_thresh,\n \t\t     (unsigned long)USABLE_TX_BD(txq),\n@@ -301,7 +301,7 @@\n \t\treturn -ENOMEM;\n \t}\n \n-\t/* PMD_DRV_LOG(DEBUG, \"sw_ring=%p hw_ring=%p dma_addr=0x%\"PRIx64,\n+\t/* PMD_DRV_LOG(DEBUG, sc, \"sw_ring=%p hw_ring=%p dma_addr=0x%\"PRIx64,\n \t   txq->sw_ring, txq->tx_ring, txq->tx_ring_phys_addr); */\n \n \t/* Link TX pages */\n@@ -310,7 +310,9 @@\n \t\tbusaddr = txq->tx_ring_phys_addr + BNX2X_PAGE_SIZE * (i % txq->nb_tx_pages);\n \t\ttx_n_bd->addr_hi = rte_cpu_to_le_32(U64_HI(busaddr));\n \t\ttx_n_bd->addr_lo = rte_cpu_to_le_32(U64_LO(busaddr));\n-\t\t/* PMD_DRV_LOG(DEBUG, \"link tx page %lu\", (TOTAL_TX_BD_PER_PAGE * i - 1)); */\n+\t\t/* PMD_DRV_LOG(DEBUG, sc, \"link tx page %lu\",\n+\t\t *          (TOTAL_TX_BD_PER_PAGE * i - 1));\n+\t\t */\n \t}\n \n \ttxq->queue_id = queue_idx;\n@@ -461,9 +463,10 @@\n void\n bnx2x_dev_clear_queues(struct rte_eth_dev *dev)\n {\n+\tstruct bnx2x_softc *sc = dev->data->dev_private;\n \tuint8_t i;\n \n-\tPMD_INIT_FUNC_TRACE();\n+\tPMD_INIT_FUNC_TRACE(sc);\n \n \tfor (i = 0; i < dev->data->nb_tx_queues; i++) {\n \t\tstruct bnx2x_tx_queue *txq = dev->data->tx_queues[i];\ndiff --git a/drivers/net/bnx2x/bnx2x_stats.c b/drivers/net/bnx2x/bnx2x_stats.c\nindex edc86cc..1cd9725 100644\n--- a/drivers/net/bnx2x/bnx2x_stats.c\n+++ b/drivers/net/bnx2x/bnx2x_stats.c\n@@ -82,7 +82,7 @@\n \t\tsc->fw_stats_req->hdr.drv_stats_counter =\n \t\t\thtole16(sc->stats_counter++);\n \n-\t\tPMD_DEBUG_PERIODIC_LOG(DEBUG,\n+\t\tPMD_DEBUG_PERIODIC_LOG(DEBUG, sc,\n \t\t\t\t\"sending statistics ramrod %d\",\n \t\t\t\tle16toh(sc->fw_stats_req->hdr.drv_stats_counter));\n \n@@ -154,7 +154,7 @@\n \n \twhile (*stats_comp != DMAE_COMP_VAL) {\n \t\tif (!cnt) {\n-\t\t\tPMD_DRV_LOG(ERR, \"Timeout waiting for stats finished\");\n+\t\t\tPMD_DRV_LOG(ERR, sc, \"Timeout waiting for stats finished\");\n \t\t\tbreak;\n \t\t}\n \n@@ -189,7 +189,7 @@\n \t}\n \t/* sanity */\n \tif (!sc->port.pmf || !sc->port.port_stx) {\n-\t\tPMD_DRV_LOG(ERR, \"BUG!\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"BUG!\");\n \t\treturn;\n \t}\n \n@@ -239,7 +239,7 @@\n \n     /* sanity */\n     if (!sc->link_vars.link_up || !sc->port.pmf) {\n-\tPMD_DRV_LOG(ERR, \"BUG!\");\n+\tPMD_DRV_LOG(ERR, sc, \"BUG!\");\n \treturn;\n     }\n \n@@ -463,7 +463,7 @@\n \n     /* sanity */\n     if (!sc->func_stx) {\n-\tPMD_DRV_LOG(ERR, \"BUG!\");\n+\tPMD_DRV_LOG(ERR, sc, \"BUG!\");\n \treturn;\n     }\n \n@@ -797,12 +797,12 @@\n \tbreak;\n \n     case ELINK_MAC_TYPE_NONE: /* unreached */\n-\tPMD_DRV_LOG(DEBUG,\n+\tPMD_DRV_LOG(DEBUG, sc,\n \t      \"stats updated by DMAE but no MAC active\");\n \treturn -1;\n \n     default: /* unreached */\n-\tPMD_DRV_LOG(ERR, \"stats update failed, unknown MAC type\");\n+\tPMD_DRV_LOG(ERR, sc, \"stats update failed, unknown MAC type\");\n     }\n \n     ADD_EXTEND_64(pstats->brb_drop_hi, pstats->brb_drop_lo,\n@@ -837,7 +837,7 @@\n \tnig_timer_max = SHMEM_RD(sc, port_mb[SC_PORT(sc)].stat_nig_timer);\n \tif (nig_timer_max != estats->nig_timer_max) {\n \t    estats->nig_timer_max = nig_timer_max;\n-\t    PMD_DRV_LOG(ERR, \"invalid NIG timer max (%u)\",\n+\t    PMD_DRV_LOG(ERR, sc, \"invalid NIG timer max (%u)\",\n \t\t  estats->nig_timer_max);\n \t}\n     }\n@@ -859,7 +859,7 @@\n \n     /* are storm stats valid? */\n     if (le16toh(counters->xstats_counter) != cur_stats_counter) {\n-\tPMD_DRV_LOG(DEBUG,\n+\tPMD_DRV_LOG(DEBUG, sc,\n \t      \"stats not updated by xstorm, \"\n \t      \"counter 0x%x != stats_counter 0x%x\",\n \t      le16toh(counters->xstats_counter), sc->stats_counter);\n@@ -867,7 +867,7 @@\n     }\n \n     if (le16toh(counters->ustats_counter) != cur_stats_counter) {\n-\tPMD_DRV_LOG(DEBUG,\n+\tPMD_DRV_LOG(DEBUG, sc,\n \t      \"stats not updated by ustorm, \"\n \t      \"counter 0x%x != stats_counter 0x%x\",\n \t      le16toh(counters->ustats_counter), sc->stats_counter);\n@@ -875,7 +875,7 @@\n     }\n \n     if (le16toh(counters->cstats_counter) != cur_stats_counter) {\n-\tPMD_DRV_LOG(DEBUG,\n+\tPMD_DRV_LOG(DEBUG, sc,\n \t      \"stats not updated by cstorm, \"\n \t      \"counter 0x%x != stats_counter 0x%x\",\n \t      le16toh(counters->cstats_counter), sc->stats_counter);\n@@ -883,7 +883,7 @@\n     }\n \n     if (le16toh(counters->tstats_counter) != cur_stats_counter) {\n-\tPMD_DRV_LOG(DEBUG,\n+\tPMD_DRV_LOG(DEBUG, sc,\n \t      \"stats not updated by tstorm, \"\n \t      \"counter 0x%x != stats_counter 0x%x\",\n \t      le16toh(counters->tstats_counter), sc->stats_counter);\n@@ -929,12 +929,13 @@\n \n \t\tuint32_t diff;\n \n-\t\t/* PMD_DRV_LOG(DEBUG,\n+\t\t/* PMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t\"queue[%d]: ucast_sent 0x%x bcast_sent 0x%x mcast_sent 0x%x\",\n \t\t\t\ti, xclient->ucast_pkts_sent, xclient->bcast_pkts_sent,\n \t\t\t\txclient->mcast_pkts_sent);\n \n-\t\tPMD_DRV_LOG(DEBUG, \"---------------\"); */\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"---------------\");\n+\t\t */\n \n \t\tUPDATE_QSTAT(tclient->rcv_bcast_bytes,\n \t\t\t\ttotal_broadcast_bytes_received);\n@@ -1288,7 +1289,7 @@ void bnx2x_stats_handle(struct bnx2x_softc *sc, enum bnx2x_stats_event event)\n \tbnx2x_stats_stm[state][event].action(sc);\n \n \tif (event != STATS_EVENT_UPDATE) {\n-\t\tPMD_DRV_LOG(DEBUG,\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t\"state %d -> event %d -> state %d\",\n \t\t\t\tstate, event, sc->stats_state);\n \t}\n@@ -1302,7 +1303,7 @@ void bnx2x_stats_handle(struct bnx2x_softc *sc, enum bnx2x_stats_event event)\n \n     /* sanity */\n     if (!sc->port.pmf || !sc->port.port_stx) {\n-\tPMD_DRV_LOG(ERR, \"BUG!\");\n+\tPMD_DRV_LOG(ERR, sc, \"BUG!\");\n \treturn;\n     }\n \n@@ -1474,7 +1475,7 @@ void bnx2x_memset_stats(struct bnx2x_softc *sc)\n \t\tsc->func_stx = 0;\n \t}\n \n-\tPMD_DRV_LOG(DEBUG, \"port_stx 0x%x func_stx 0x%x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"port_stx 0x%x func_stx 0x%x\",\n \t\t\tsc->port.port_stx, sc->func_stx);\n \n \t/* pmf should retrieve port statistics from SP on a non-init*/\ndiff --git a/drivers/net/bnx2x/bnx2x_vfpf.c b/drivers/net/bnx2x/bnx2x_vfpf.c\nindex 50099d4..048bf12 100644\n--- a/drivers/net/bnx2x/bnx2x_vfpf.c\n+++ b/drivers/net/bnx2x/bnx2x_vfpf.c\n@@ -37,12 +37,12 @@\n \t\t\tif (bull->crc == bnx2x_vf_crc(bull))\n \t\t\t\tbreak;\n \n-\t\t\tPMD_DRV_LOG(ERR, \"bad crc on bulletin board. contained %x computed %x\",\n+\t\t\tPMD_DRV_LOG(ERR, sc, \"bad crc on bulletin board. contained %x computed %x\",\n \t\t\t\t\tbull->crc, bnx2x_vf_crc(bull));\n \t\t\t++tries;\n \t\t}\n \t\tif (tries == BNX2X_VF_BULLETIN_TRIES) {\n-\t\t\tPMD_DRV_LOG(ERR, \"pf to vf bulletin board crc was wrong %d consecutive times. Aborting\",\n+\t\t\tPMD_DRV_LOG(ERR, sc, \"pf to vf bulletin board crc was wrong %d consecutive times. Aborting\",\n \t\t\t\t\ttries);\n \t\t\treturn FALSE;\n \t\t}\n@@ -82,7 +82,7 @@\n \n \trte_spinlock_lock(&sc->vf2pf_lock);\n \n-\tPMD_DRV_LOG(DEBUG, \"Preparing %d tlv for sending\", type);\n+\tPMD_DRV_LOG(DEBUG, sc, \"Preparing %d tlv for sending\", type);\n \n \tmemset(mbox, 0, sizeof(struct bnx2x_vf_mbx_msg));\n \n@@ -97,7 +97,7 @@\n bnx2x_vf_finalize(struct bnx2x_softc *sc,\n \t\t  __rte_unused struct vf_first_tlv *first_tlv)\n {\n-\tPMD_DRV_LOG(DEBUG, \"done sending [%d] tlv over vf pf channel\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"done sending [%d] tlv over vf pf channel\",\n \t\t    first_tlv->tl.type);\n \n \trte_spinlock_unlock(&sc->vf2pf_lock);\n@@ -116,14 +116,14 @@\n \tuint8_t i;\n \n \tif (*status) {\n-\t\tPMD_DRV_LOG(ERR, \"status should be zero before message\"\n+\t\tPMD_DRV_LOG(ERR, sc, \"status should be zero before message\"\n \t\t\t\t \" to pf was sent\");\n \t\treturn -EINVAL;\n \t}\n \n \tbnx2x_check_bull(sc);\n \tif (sc->old_bulletin.valid_bitmap & (1 << CHANNEL_DOWN)) {\n-\t\tPMD_DRV_LOG(ERR, \"channel is down. Aborting message sending\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"channel is down. Aborting message sending\");\n \t\treturn -EINVAL;\n \t}\n \n@@ -143,11 +143,11 @@\n \t}\n \n \tif (!*status) {\n-\t\tPMD_DRV_LOG(ERR, \"Response from PF timed out\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"Response from PF timed out\");\n \t\treturn -EAGAIN;\n \t}\n \n-\tPMD_DRV_LOG(DEBUG, \"Response from PF was received\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Response from PF was received\");\n \treturn 0;\n }\n \n@@ -195,7 +195,7 @@ int bnx2x_loop_obtain_resources(struct bnx2x_softc *sc)\n \tint rc;\n \n \tdo {\n-\t\tPMD_DRV_LOG(DEBUG, \"trying to get resources\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"trying to get resources\");\n \n \t\trc = bnx2x_do_req4pf(sc, sc->vf2pf_mbox_mapping.paddr);\n \t\tif (rc)\n@@ -207,11 +207,11 @@ int bnx2x_loop_obtain_resources(struct bnx2x_softc *sc)\n \n \t\t/* check PF to request acceptance */\n \t\tif (sc_resp->status == BNX2X_VF_STATUS_SUCCESS) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"resources obtained successfully\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"resources obtained successfully\");\n \t\t\tres_obtained = true;\n \t\t} else if (sc_resp->status == BNX2X_VF_STATUS_NO_RESOURCES &&\n \t\t\t   tries < BNX2X_VF_OBTAIN_MAX_TRIES) {\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t   \"PF cannot allocate requested amount of resources\");\n \n \t\t\tres_query = &sc->vf2pf_mbox->query[0].acquire.res_query;\n@@ -227,7 +227,7 @@ int bnx2x_loop_obtain_resources(struct bnx2x_softc *sc)\n \n \t\t\tmemset(&sc->vf2pf_mbox->resp, 0, sizeof(union resp_tlvs));\n \t\t} else {\n-\t\t\tPMD_DRV_LOG(ERR, \"Failed to get the requested \"\n+\t\t\tPMD_DRV_LOG(ERR, sc, \"Failed to get the requested \"\n \t\t\t\t\t \"amount of resources: %d.\",\n \t\t\t\t\t sc_resp->status);\n \t\t\treturn -EINVAL;\n@@ -296,7 +296,7 @@ int bnx2x_vf_get_resources(struct bnx2x_softc *sc, uint8_t tx_count, uint8_t rx_\n \tsc->doorbell_size = sc_resp.db_size;\n \tsc->flags |= BNX2X_NO_WOL_FLAG | BNX2X_NO_ISCSI_OOO_FLAG | BNX2X_NO_ISCSI_FLAG | BNX2X_NO_FCOE_FLAG;\n \n-\tPMD_DRV_LOG(DEBUG, \"status block count = %d, base status block = %x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"status block count = %d, base status block = %x\",\n \t\tsc->igu_sb_cnt, sc->igu_base_sb);\n \tstrncpy(sc->fw_ver, sc_resp.fw_ver, sizeof(sc->fw_ver));\n \n@@ -333,7 +333,7 @@ int bnx2x_vf_get_resources(struct bnx2x_softc *sc, uint8_t tx_count, uint8_t rx_\n \n \t\trc = bnx2x_do_req4pf(sc, sc->vf2pf_mbox_mapping.paddr);\n \t\tif (rc || reply->status != BNX2X_VF_STATUS_SUCCESS)\n-\t\t\tPMD_DRV_LOG(ERR, \"Failed to release VF\");\n+\t\t\tPMD_DRV_LOG(ERR, sc, \"Failed to release VF\");\n \n \t\tbnx2x_vf_finalize(sc, &query->first_tlv);\n \t}\n@@ -367,12 +367,12 @@ int bnx2x_vf_get_resources(struct bnx2x_softc *sc, uint8_t tx_count, uint8_t rx_\n \tif (rc)\n \t\tgoto out;\n \tif (reply->status != BNX2X_VF_STATUS_SUCCESS) {\n-\t\tPMD_DRV_LOG(ERR, \"Failed to init VF\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"Failed to init VF\");\n \t\trc = -EINVAL;\n \t\tgoto out;\n \t}\n \n-\tPMD_DRV_LOG(DEBUG, \"VF was initialized\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"VF was initialized\");\n out:\n \tbnx2x_vf_finalize(sc, &query->first_tlv);\n \treturn rc;\n@@ -403,7 +403,7 @@ int bnx2x_vf_get_resources(struct bnx2x_softc *sc, uint8_t tx_count, uint8_t rx_\n \n \t\t\trc = bnx2x_do_req4pf(sc, sc->vf2pf_mbox_mapping.paddr);\n \t\t\tif (rc || reply->status != BNX2X_VF_STATUS_SUCCESS)\n-\t\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t\t    \"Bad reply for vf_q %d teardown\", i);\n \n \t\t\tbnx2x_vf_finalize(sc, &query_op->first_tlv);\n@@ -423,7 +423,7 @@ int bnx2x_vf_get_resources(struct bnx2x_softc *sc, uint8_t tx_count, uint8_t rx_\n \n \t\trc = bnx2x_do_req4pf(sc, sc->vf2pf_mbox_mapping.paddr);\n \t\tif (rc || reply->status != BNX2X_VF_STATUS_SUCCESS)\n-\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t    \"Bad reply from PF for close message\");\n \n \t\tbnx2x_vf_finalize(sc, &query->first_tlv);\n@@ -450,7 +450,7 @@ int bnx2x_vf_get_resources(struct bnx2x_softc *sc, uint8_t tx_count, uint8_t rx_\n \n \trxq = sc->rx_queues[fp->index];\n \tif (!rxq) {\n-\t\tPMD_DRV_LOG(ERR, \"RX queue %d is NULL\", fp->index);\n+\t\tPMD_DRV_LOG(ERR, sc, \"RX queue %d is NULL\", fp->index);\n \t\treturn;\n \t}\n \n@@ -474,7 +474,7 @@ int bnx2x_vf_get_resources(struct bnx2x_softc *sc, uint8_t tx_count, uint8_t rx_\n \n \ttxq = sc->tx_queues[fp->index];\n \tif (!txq) {\n-\t\tPMD_DRV_LOG(ERR, \"TX queue %d is NULL\", fp->index);\n+\t\tPMD_DRV_LOG(ERR, sc, \"TX queue %d is NULL\", fp->index);\n \t\treturn;\n \t}\n \n@@ -511,7 +511,7 @@ int bnx2x_vf_get_resources(struct bnx2x_softc *sc, uint8_t tx_count, uint8_t rx_\n \tif (rc)\n \t\tgoto out;\n \tif (reply->status != BNX2X_VF_STATUS_SUCCESS) {\n-\t\tPMD_DRV_LOG(ERR, \"Failed to setup VF queue[%d]\",\n+\t\tPMD_DRV_LOG(ERR, sc, \"Failed to setup VF queue[%d]\",\n \t\t\t\t fp->index);\n \t\trc = -EINVAL;\n \t}\n@@ -566,7 +566,7 @@ int bnx2x_vf_get_resources(struct bnx2x_softc *sc, uint8_t tx_count, uint8_t rx_\n \t}\n \n \tif (BNX2X_VF_STATUS_SUCCESS != reply->status) {\n-\t\tPMD_DRV_LOG(ERR, \"Bad reply from PF for SET MAC message: %d\",\n+\t\tPMD_DRV_LOG(ERR, sc, \"Bad reply from PF for SET MAC message: %d\",\n \t\t\t\treply->status);\n \t\trc = -EINVAL;\n \t}\n@@ -608,7 +608,7 @@ int bnx2x_vf_get_resources(struct bnx2x_softc *sc, uint8_t tx_count, uint8_t rx_\n \t\tgoto out;\n \n \tif (reply->status != BNX2X_VF_STATUS_SUCCESS) {\n-\t\tPMD_DRV_LOG(ERR, \"Failed to configure RSS\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"Failed to configure RSS\");\n \t\trc = -EINVAL;\n \t}\n out:\n@@ -652,7 +652,7 @@ int bnx2x_vf_get_resources(struct bnx2x_softc *sc, uint8_t tx_count, uint8_t rx_\n \t\tquery->rx_mask |= VFPF_RX_MASK_ACCEPT_BROADCAST;\n \t\tbreak;\n \tdefault:\n-\t\tPMD_DRV_LOG(ERR, \"BAD rx mode (%d)\", sc->rx_mode);\n+\t\tPMD_DRV_LOG(ERR, sc, \"BAD rx mode (%d)\", sc->rx_mode);\n \t\trc = -EINVAL;\n \t\tgoto out;\n \t}\n@@ -666,7 +666,7 @@ int bnx2x_vf_get_resources(struct bnx2x_softc *sc, uint8_t tx_count, uint8_t rx_\n \t\tgoto out;\n \n \tif (reply->status != BNX2X_VF_STATUS_SUCCESS) {\n-\t\tPMD_DRV_LOG(ERR, \"Failed to set RX mode\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"Failed to set RX mode\");\n \t\trc = -EINVAL;\n \t}\n \ndiff --git a/drivers/net/bnx2x/ecore_init.h b/drivers/net/bnx2x/ecore_init.h\nindex f2de07e..97dfe69 100644\n--- a/drivers/net/bnx2x/ecore_init.h\n+++ b/drivers/net/bnx2x/ecore_init.h\n@@ -741,7 +741,7 @@ static inline void ecore_disable_blocks_parity(struct bnx2x_softc *sc)\n \t\tif (dis_mask) {\n \t\t\tREG_WR(sc, ecore_blocks_parity_data[i].mask_addr,\n \t\t\t       dis_mask);\n-\t\t\tECORE_MSG(\"Setting parity mask \"\n+\t\t\tECORE_MSG(sc, \"Setting parity mask \"\n \t\t\t\t\t\t \"for %s to\\t\\t0x%x\",\n \t\t\t\t    ecore_blocks_parity_data[i].name, dis_mask);\n \t\t}\n@@ -776,7 +776,7 @@ static inline void ecore_clear_blocks_parity(struct bnx2x_softc *sc)\n \t\t\treg_val = REG_RD(sc, ecore_blocks_parity_data[i].\n \t\t\t\t\t sts_clr_addr);\n \t\t\tif (reg_val & reg_mask)\n-\t\t\t\tECORE_MSG(\"Parity errors in %s: 0x%x\",\n+\t\t\t\tECORE_MSG(sc, \"Parity errors in %s: 0x%x\",\n \t\t\t\t\t   ecore_blocks_parity_data[i].name,\n \t\t\t\t\t   reg_val & reg_mask);\n \t\t}\n@@ -785,7 +785,7 @@ static inline void ecore_clear_blocks_parity(struct bnx2x_softc *sc)\n \t/* Check if there were parity attentions in MCP */\n \treg_val = REG_RD(sc, MISC_REG_AEU_AFTER_INVERT_4_MCP);\n \tif (reg_val & mcp_aeu_bits)\n-\t\tECORE_MSG(\"Parity error in MCP: 0x%x\",\n+\t\tECORE_MSG(sc, \"Parity error in MCP: 0x%x\",\n \t\t\t   reg_val & mcp_aeu_bits);\n \n \t/* Clear parity attentions in MCP:\ndiff --git a/drivers/net/bnx2x/ecore_init_ops.h b/drivers/net/bnx2x/ecore_init_ops.h\nindex 2b003af..733ad1a 100644\n--- a/drivers/net/bnx2x/ecore_init_ops.h\n+++ b/drivers/net/bnx2x/ecore_init_ops.h\n@@ -424,20 +424,20 @@ static void ecore_init_pxp_arb(struct bnx2x_softc *sc, int r_order,\n \tuint32_t val, i;\n \n \tif (r_order > MAX_RD_ORD) {\n-\t\tECORE_MSG(\"read order of %d  order adjusted to %d\",\n+\t\tECORE_MSG(sc, \"read order of %d  order adjusted to %d\",\n \t\t\t   r_order, MAX_RD_ORD);\n \t\tr_order = MAX_RD_ORD;\n \t}\n \tif (w_order > MAX_WR_ORD) {\n-\t\tECORE_MSG(\"write order of %d  order adjusted to %d\",\n+\t\tECORE_MSG(sc, \"write order of %d  order adjusted to %d\",\n \t\t\t   w_order, MAX_WR_ORD);\n \t\tw_order = MAX_WR_ORD;\n \t}\n \tif (CHIP_REV_IS_FPGA(sc)) {\n-\t\tECORE_MSG(\"write order adjusted to 1 for FPGA\");\n+\t\tECORE_MSG(sc, \"write order adjusted to 1 for FPGA\");\n \t\tw_order = 0;\n \t}\n-\tECORE_MSG(\"read order %d  write order %d\", r_order, w_order);\n+\tECORE_MSG(sc, \"read order %d  write order %d\", r_order, w_order);\n \n \tfor (i = 0; i < NUM_RD_Q-1; i++) {\n \t\tREG_WR(sc, read_arb_addr[i].l, read_arb_data[i][r_order].l);\ndiff --git a/drivers/net/bnx2x/ecore_sp.c b/drivers/net/bnx2x/ecore_sp.c\nindex 0c8685c..ab730ab 100644\n--- a/drivers/net/bnx2x/ecore_sp.c\n+++ b/drivers/net/bnx2x/ecore_sp.c\n@@ -53,14 +53,14 @@\n \to->execute = exec;\n \to->get = get;\n \n-\tECORE_MSG(\"Setup the execution queue with the chunk length of %d\",\n+\tECORE_MSG(sc, \"Setup the execution queue with the chunk length of %d\",\n \t\t  exe_len);\n }\n \n static void ecore_exe_queue_free_elem(struct bnx2x_softc *sc __rte_unused,\n \t\t\t\t      struct ecore_exeq_elem *elem)\n {\n-\tECORE_MSG(\"Deleting an exe_queue element\");\n+\tECORE_MSG(sc, \"Deleting an exe_queue element\");\n \tECORE_FREE(sc, elem, sizeof(*elem));\n }\n \n@@ -106,7 +106,7 @@ static int ecore_exe_queue_add(struct bnx2x_softc *sc,\n \t\t/* Check if this request is ok */\n \t\trc = o->validate(sc, o->owner, elem);\n \t\tif (rc) {\n-\t\t\tECORE_MSG(\"Preamble failed: %d\", rc);\n+\t\t\tECORE_MSG(sc, \"Preamble failed: %d\", rc);\n \t\t\tgoto free_and_exit;\n \t\t}\n \t}\n@@ -176,8 +176,8 @@ static int ecore_exe_queue_step(struct bnx2x_softc *sc,\n \t */\n \tif (!ECORE_LIST_IS_EMPTY(&o->pending_comp)) {\n \t\tif (ECORE_TEST_BIT(RAMROD_DRV_CLR_ONLY, ramrod_flags)) {\n-\t\t\tECORE_MSG\n-\t\t\t    (\"RAMROD_DRV_CLR_ONLY requested: resetting a pending_comp list\");\n+\t\t\tECORE_MSG(sc,\n+\t\t\t\t  \"RAMROD_DRV_CLR_ONLY requested: resetting a pending_comp list\");\n \t\t\t__ecore_exe_queue_reset_pending(sc, o);\n \t\t} else {\n \t\t\treturn ECORE_PENDING;\n@@ -240,7 +240,7 @@ static struct ecore_exeq_elem *ecore_exe_queue_alloc_elem(struct\n \t\t\t\t\t\t\t  bnx2x_softc *sc\n \t\t\t\t\t\t\t  __rte_unused)\n {\n-\tECORE_MSG(\"Allocating a new exe_queue element\");\n+\tECORE_MSG(sc, \"Allocating a new exe_queue element\");\n \treturn ECORE_ZALLOC(sizeof(struct ecore_exeq_elem), GFP_ATOMIC, sc);\n }\n \n@@ -290,14 +290,14 @@ static int ecore_state_wait(struct bnx2x_softc *sc, int state,\n \tif (CHIP_REV_IS_EMUL(sc))\n \t\tcnt *= 20;\n \n-\tECORE_MSG(\"waiting for state to become %d\", state);\n+\tECORE_MSG(sc, \"waiting for state to become %d\", state);\n \n \tECORE_MIGHT_SLEEP();\n \twhile (cnt--) {\n \t\tbnx2x_intr_legacy(sc, 1);\n \t\tif (!ECORE_TEST_BIT(state, pstate)) {\n #ifdef ECORE_STOP_ON_ERROR\n-\t\t\tECORE_MSG(\"exit  (cnt %d)\", 5000 - cnt);\n+\t\t\tECORE_MSG(sc, \"exit  (cnt %d)\", 5000 - cnt);\n #endif\n \t\t\treturn ECORE_SUCCESS;\n \t\t}\n@@ -309,7 +309,7 @@ static int ecore_state_wait(struct bnx2x_softc *sc, int state,\n \t}\n \n \t/* timeout! */\n-\tPMD_DRV_LOG(ERR, \"timeout waiting for state %d\", state);\n+\tPMD_DRV_LOG(ERR, sc, \"timeout waiting for state %d\", state);\n #ifdef ECORE_STOP_ON_ERROR\n \tecore_panic();\n #endif\n@@ -370,11 +370,11 @@ static int __ecore_vlan_mac_h_write_trylock(struct bnx2x_softc *sc __rte_unused,\n \t\t\t\t\t    struct ecore_vlan_mac_obj *o)\n {\n \tif (o->head_reader) {\n-\t\tECORE_MSG(\"vlan_mac_lock writer - There are readers; Busy\");\n+\t\tECORE_MSG(sc, \"vlan_mac_lock writer - There are readers; Busy\");\n \t\treturn ECORE_BUSY;\n \t}\n \n-\tECORE_MSG(\"vlan_mac_lock writer - Taken\");\n+\tECORE_MSG(sc, \"vlan_mac_lock writer - Taken\");\n \treturn ECORE_SUCCESS;\n }\n \n@@ -394,13 +394,13 @@ static void __ecore_vlan_mac_h_exec_pending(struct bnx2x_softc *sc,\n \tint rc;\n \tunsigned long ramrod_flags = o->saved_ramrod_flags;\n \n-\tECORE_MSG(\"vlan_mac_lock execute pending command with ramrod flags %lu\",\n+\tECORE_MSG(sc, \"vlan_mac_lock execute pending command with ramrod flags %lu\",\n \t\t  ramrod_flags);\n \to->head_exe_request = FALSE;\n \to->saved_ramrod_flags = 0;\n \trc = ecore_exe_queue_step(sc, &o->exe_queue, &ramrod_flags);\n \tif (rc != ECORE_SUCCESS) {\n-\t\tPMD_DRV_LOG(ERR,\n+\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t    \"execution of pending commands failed with rc %d\",\n \t\t\t    rc);\n #ifdef ECORE_STOP_ON_ERROR\n@@ -425,7 +425,7 @@ static void __ecore_vlan_mac_h_pend(struct bnx2x_softc *sc __rte_unused,\n {\n \to->head_exe_request = TRUE;\n \to->saved_ramrod_flags = ramrod_flags;\n-\tECORE_MSG(\"Placing pending execution with ramrod flags %lu\",\n+\tECORE_MSG(sc, \"Placing pending execution with ramrod flags %lu\",\n \t\t  ramrod_flags);\n }\n \n@@ -446,8 +446,8 @@ static void __ecore_vlan_mac_h_write_unlock(struct bnx2x_softc *sc,\n \t * executed. If so, execute again. [Ad infinitum]\n \t */\n \twhile (o->head_exe_request) {\n-\t\tECORE_MSG\n-\t\t    (\"vlan_mac_lock - writer release encountered a pending request\");\n+\t\tECORE_MSG(sc,\n+\t\t\t  \"vlan_mac_lock - writer release encountered a pending request\");\n \t\t__ecore_vlan_mac_h_exec_pending(sc, o);\n \t}\n }\n@@ -483,7 +483,8 @@ static int __ecore_vlan_mac_h_read_lock(struct bnx2x_softc *sc __rte_unused,\n {\n \t/* If we got here, we're holding lock --> no WRITER exists */\n \to->head_reader++;\n-\tECORE_MSG(\"vlan_mac_lock - locked reader - number %d\", o->head_reader);\n+\tECORE_MSG(sc,\n+\t\t  \"vlan_mac_lock - locked reader - number %d\", o->head_reader);\n \n \treturn ECORE_SUCCESS;\n }\n@@ -522,14 +523,14 @@ static void __ecore_vlan_mac_h_read_unlock(struct bnx2x_softc *sc,\n \t\t\t\t\t   struct ecore_vlan_mac_obj *o)\n {\n \tif (!o->head_reader) {\n-\t\tPMD_DRV_LOG(ERR,\n+\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t    \"Need to release vlan mac reader lock, but lock isn't taken\");\n #ifdef ECORE_STOP_ON_ERROR\n \t\tecore_panic();\n #endif\n \t} else {\n \t\to->head_reader--;\n-\t\tPMD_DRV_LOG(INFO,\n+\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t    \"vlan_mac_lock - decreased readers to %d\",\n \t\t\t    o->head_reader);\n \t}\n@@ -538,7 +539,7 @@ static void __ecore_vlan_mac_h_read_unlock(struct bnx2x_softc *sc,\n \t * was last - if so we need to execute the command.\n \t */\n \tif (!o->head_reader && o->head_exe_request) {\n-\t\tPMD_DRV_LOG(INFO,\n+\t\tPMD_DRV_LOG(INFO, sc,\n \t\t\t    \"vlan_mac_lock - reader release encountered a pending request\");\n \n \t\t/* Writer release will do the trick */\n@@ -581,10 +582,10 @@ static int ecore_get_n_elements(struct bnx2x_softc *sc,\n \tuint8_t *next = base;\n \tint counter = 0, read_lock;\n \n-\tECORE_MSG(\"get_n_elements - taking vlan_mac_lock (reader)\");\n+\tECORE_MSG(sc, \"get_n_elements - taking vlan_mac_lock (reader)\");\n \tread_lock = ecore_vlan_mac_h_read_lock(sc, o);\n \tif (read_lock != ECORE_SUCCESS)\n-\t\tPMD_DRV_LOG(ERR,\n+\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t    \"get_n_elements failed to get vlan mac reader lock; Access without lock\");\n \n \t/* traverse list */\n@@ -593,15 +594,15 @@ static int ecore_get_n_elements(struct bnx2x_softc *sc,\n \t\tif (counter < n) {\n \t\t\tECORE_MEMCPY(next, &pos->u, size);\n \t\t\tcounter++;\n-\t\t\tECORE_MSG\n-\t\t\t    (\"copied element number %d to address %p element was:\",\n+\t\t\t    ECORE_MSG\n+\t\t\t    (sc, \"copied element number %d to address %p element was:\",\n \t\t\t     counter, next);\n \t\t\tnext += stride + size;\n \t\t}\n \t}\n \n \tif (read_lock == ECORE_SUCCESS) {\n-\t\tECORE_MSG(\"get_n_elements - releasing vlan_mac_lock (reader)\");\n+\t\tECORE_MSG(sc, \"get_n_elements - releasing vlan_mac_lock (reader)\");\n \t\tecore_vlan_mac_h_read_unlock(sc, o);\n \t}\n \n@@ -615,7 +616,7 @@ static int ecore_check_mac_add(struct bnx2x_softc *sc __rte_unused,\n {\n \tstruct ecore_vlan_mac_registry_elem *pos;\n \n-\tECORE_MSG(\"Checking MAC %02x:%02x:%02x:%02x:%02x:%02x for ADD command\",\n+\tECORE_MSG(sc, \"Checking MAC %02x:%02x:%02x:%02x:%02x:%02x for ADD command\",\n \t\t  data->mac.mac[0], data->mac.mac[1], data->mac.mac[2],\n \t\t  data->mac.mac[3], data->mac.mac[4], data->mac.mac[5]);\n \n@@ -644,7 +645,7 @@ static struct ecore_vlan_mac_registry_elem *ecore_check_mac_del(struct bnx2x_sof\n {\n \tstruct ecore_vlan_mac_registry_elem *pos;\n \n-\tECORE_MSG(\"Checking MAC %02x:%02x:%02x:%02x:%02x:%02x for DEL command\",\n+\tECORE_MSG(sc, \"Checking MAC %02x:%02x:%02x:%02x:%02x:%02x for DEL command\",\n \t\t  data->mac.mac[0], data->mac.mac[1], data->mac.mac[2],\n \t\t  data->mac.mac[3], data->mac.mac[4], data->mac.mac[5]);\n \n@@ -722,7 +723,7 @@ static void ecore_set_mac_in_nig(struct bnx2x_softc *sc,\n \tif (index > ECORE_LLH_CAM_MAX_PF_LINE)\n \t\treturn;\n \n-\tECORE_MSG(\"Going to %s LLH configuration at entry %d\",\n+\tECORE_MSG(sc, \"Going to %s LLH configuration at entry %d\",\n \t\t  (add ? \"ADD\" : \"DELETE\"), index);\n \n \tif (add) {\n@@ -838,7 +839,7 @@ static void ecore_set_one_mac_e2(struct bnx2x_softc *sc,\n \tecore_vlan_mac_set_cmd_hdr_e2(o, add, CLASSIFY_RULE_OPCODE_MAC,\n \t\t\t\t      &rule_entry->mac.header);\n \n-\tECORE_MSG(\"About to %s MAC %02x:%02x:%02x:%02x:%02x:%02x for Queue %d\",\n+\tECORE_MSG(sc, \"About to %s MAC %02x:%02x:%02x:%02x:%02x:%02x for Queue %d\",\n \t\t  (add ? \"add\" : \"delete\"), mac[0], mac[1], mac[2], mac[3],\n \t\t  mac[4], mac[5], raw->cl_id);\n \n@@ -943,7 +944,7 @@ static void ecore_vlan_mac_set_rdata_e1x(struct bnx2x_softc *sc\n \tecore_vlan_mac_set_cfg_entry_e1x(o, add, opcode, mac, vlan_id,\n \t\t\t\t\t cfg_entry);\n \n-\tECORE_MSG(\"%s MAC %02x:%02x:%02x:%02x:%02x:%02x CLID %d CAM offset %d\",\n+\tECORE_MSG(sc, \"%s MAC %02x:%02x:%02x:%02x:%02x:%02x CLID %d CAM offset %d\",\n \t\t  (add ? \"setting\" : \"clearing\"),\n \t\t  mac[0], mac[1], mac[2], mac[3], mac[4], mac[5],\n \t\t  o->raw.cl_id, cam_offset);\n@@ -1088,8 +1089,8 @@ static int ecore_validate_vlan_mac_add(struct bnx2x_softc *sc,\n \t/* Check the registry */\n \trc = o->check_add(sc, o, &elem->cmd_data.vlan_mac.u);\n \tif (rc) {\n-\t\tECORE_MSG\n-\t\t    (\"ADD command is not allowed considering current registry state.\");\n+\t\tECORE_MSG(sc,\n+\t\t\t  \"ADD command is not allowed considering current registry state.\");\n \t\treturn rc;\n \t}\n \n@@ -1097,7 +1098,7 @@ static int ecore_validate_vlan_mac_add(struct bnx2x_softc *sc,\n \t * MAC/VLAN/VLAN-MAC. Return an error if there is.\n \t */\n \tif (exeq->get(exeq, elem)) {\n-\t\tECORE_MSG(\"There is a pending ADD command already\");\n+\t\tECORE_MSG(sc, \"There is a pending ADD command already\");\n \t\treturn ECORE_EXISTS;\n \t}\n \n@@ -1136,8 +1137,8 @@ static int ecore_validate_vlan_mac_del(struct bnx2x_softc *sc,\n \t */\n \tpos = o->check_del(sc, o, &elem->cmd_data.vlan_mac.u);\n \tif (!pos) {\n-\t\tECORE_MSG\n-\t\t    (\"DEL command is not allowed considering current registry state\");\n+\t\tECORE_MSG(sc,\n+\t\t\t  \"DEL command is not allowed considering current registry state\");\n \t\treturn ECORE_EXISTS;\n \t}\n \n@@ -1149,13 +1150,13 @@ static int ecore_validate_vlan_mac_del(struct bnx2x_softc *sc,\n \t/* Check for MOVE commands */\n \tquery_elem.cmd_data.vlan_mac.cmd = ECORE_VLAN_MAC_MOVE;\n \tif (exeq->get(exeq, &query_elem)) {\n-\t\tPMD_DRV_LOG(ERR, \"There is a pending MOVE command already\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"There is a pending MOVE command already\");\n \t\treturn ECORE_INVAL;\n \t}\n \n \t/* Check for DEL commands */\n \tif (exeq->get(exeq, elem)) {\n-\t\tECORE_MSG(\"There is a pending DEL command already\");\n+\t\tECORE_MSG(sc, \"There is a pending DEL command already\");\n \t\treturn ECORE_EXISTS;\n \t}\n \n@@ -1163,7 +1164,7 @@ static int ecore_validate_vlan_mac_del(struct bnx2x_softc *sc,\n \tif (!(ECORE_TEST_BIT(ECORE_DONT_CONSUME_CAM_CREDIT,\n \t\t\t     &elem->cmd_data.vlan_mac.vlan_mac_flags) ||\n \t      o->put_credit(o))) {\n-\t\tPMD_DRV_LOG(ERR, \"Failed to return a credit\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"Failed to return a credit\");\n \t\treturn ECORE_INVAL;\n \t}\n \n@@ -1196,8 +1197,8 @@ static int ecore_validate_vlan_mac_move(struct bnx2x_softc *sc,\n \t * state.\n \t */\n \tif (!src_o->check_move(sc, src_o, dest_o, &elem->cmd_data.vlan_mac.u)) {\n-\t\tECORE_MSG\n-\t\t    (\"MOVE command is not allowed considering current registry state\");\n+\t\tECORE_MSG(sc,\n+\t\t\t  \"MOVE command is not allowed considering current registry state\");\n \t\treturn ECORE_INVAL;\n \t}\n \n@@ -1210,21 +1211,21 @@ static int ecore_validate_vlan_mac_move(struct bnx2x_softc *sc,\n \t/* Check DEL on source */\n \tquery_elem.cmd_data.vlan_mac.cmd = ECORE_VLAN_MAC_DEL;\n \tif (src_exeq->get(src_exeq, &query_elem)) {\n-\t\tPMD_DRV_LOG(ERR,\n+\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t    \"There is a pending DEL command on the source queue already\");\n \t\treturn ECORE_INVAL;\n \t}\n \n \t/* Check MOVE on source */\n \tif (src_exeq->get(src_exeq, elem)) {\n-\t\tECORE_MSG(\"There is a pending MOVE command already\");\n+\t\tECORE_MSG(sc, \"There is a pending MOVE command already\");\n \t\treturn ECORE_EXISTS;\n \t}\n \n \t/* Check ADD on destination */\n \tquery_elem.cmd_data.vlan_mac.cmd = ECORE_VLAN_MAC_ADD;\n \tif (dest_exeq->get(dest_exeq, &query_elem)) {\n-\t\tPMD_DRV_LOG(ERR,\n+\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t    \"There is a pending ADD command on the destination queue already\");\n \t\treturn ECORE_INVAL;\n \t}\n@@ -1329,7 +1330,7 @@ static int __ecore_vlan_mac_execute_step(struct bnx2x_softc *sc,\n \n \tECORE_SPIN_LOCK_BH(&o->exe_queue.lock);\n \n-\tECORE_MSG(\"vlan_mac_execute_step - trying to take writer lock\");\n+\tECORE_MSG(sc, \"vlan_mac_execute_step - trying to take writer lock\");\n \trc = __ecore_vlan_mac_h_write_trylock(sc, o);\n \n \tif (rc != ECORE_SUCCESS) {\n@@ -1426,17 +1427,17 @@ static int ecore_optimize_vlan_mac(struct bnx2x_softc *sc,\n \t\t\t\t    &pos->cmd_data.vlan_mac.vlan_mac_flags)) {\n \t\t\tif ((query.cmd_data.vlan_mac.cmd ==\n \t\t\t     ECORE_VLAN_MAC_ADD) && !o->put_credit(o)) {\n-\t\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t\t    \"Failed to return the credit for the optimized ADD command\");\n \t\t\t\treturn ECORE_INVAL;\n \t\t\t} else if (!o->get_credit(o)) {\t/* VLAN_MAC_DEL */\n-\t\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t\t    \"Failed to recover the credit from the optimized DEL command\");\n \t\t\t\treturn ECORE_INVAL;\n \t\t\t}\n \t\t}\n \n-\t\tECORE_MSG(\"Optimizing %s command\",\n+\t\tECORE_MSG(sc, \"Optimizing %s command\",\n \t\t\t  (elem->cmd_data.vlan_mac.cmd == ECORE_VLAN_MAC_ADD) ?\n \t\t\t  \"ADD\" : \"DEL\");\n \n@@ -1486,7 +1487,7 @@ static int ecore_vlan_mac_get_registry_elem(struct bnx2x_softc *sc,\n \t\t\treturn ECORE_INVAL;\n \t\t}\n \n-\t\tECORE_MSG(\"Got cam offset %d\", reg_elem->cam_offset);\n+\t\tECORE_MSG(sc, \"Got cam offset %d\", reg_elem->cam_offset);\n \n \t\t/* Set a VLAN-MAC data */\n \t\tECORE_MEMCPY(&reg_elem->u, &elem->cmd_data.vlan_mac.u,\n@@ -1695,8 +1696,8 @@ int ecore_config_vlan_mac(struct bnx2x_softc *sc,\n \t\trc = ECORE_PENDING;\n \n \tif (ECORE_TEST_BIT(RAMROD_DRV_CLR_ONLY, ramrod_flags)) {\n-\t\tECORE_MSG\n-\t\t    (\"RAMROD_DRV_CLR_ONLY requested: clearing a pending bit.\");\n+\t\tECORE_MSG(sc,\n+\t\t\t  \"RAMROD_DRV_CLR_ONLY requested: clearing a pending bit.\");\n \t\traw->clear_pending(raw);\n \t}\n \n@@ -1775,7 +1776,7 @@ static int ecore_vlan_mac_del_all(struct bnx2x_softc *sc,\n \t\t    *vlan_mac_flags) {\n \t\t\trc = exeq->remove(sc, exeq->owner, exeq_pos);\n \t\t\tif (rc) {\n-\t\t\t\tPMD_DRV_LOG(ERR, \"Failed to remove command\");\n+\t\t\t\tPMD_DRV_LOG(ERR, sc, \"Failed to remove command\");\n \t\t\t\tECORE_SPIN_UNLOCK_BH(&exeq->lock);\n \t\t\t\treturn rc;\n \t\t\t}\n@@ -1800,7 +1801,7 @@ static int ecore_vlan_mac_del_all(struct bnx2x_softc *sc,\n \tECORE_CLEAR_BIT_NA(RAMROD_EXEC, &p.ramrod_flags);\n \tECORE_CLEAR_BIT_NA(RAMROD_CONT, &p.ramrod_flags);\n \n-\tECORE_MSG(\"vlan_mac_del_all -- taking vlan_mac_lock (reader)\");\n+\tECORE_MSG(sc, \"vlan_mac_del_all -- taking vlan_mac_lock (reader)\");\n \tread_lock = ecore_vlan_mac_h_read_lock(sc, o);\n \tif (read_lock != ECORE_SUCCESS)\n \t\treturn read_lock;\n@@ -1812,7 +1813,7 @@ static int ecore_vlan_mac_del_all(struct bnx2x_softc *sc,\n \t\t\tECORE_MEMCPY(&p.user_req.u, &pos->u, sizeof(pos->u));\n \t\t\trc = ecore_config_vlan_mac(sc, &p);\n \t\t\tif (rc < 0) {\n-\t\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t\t    \"Failed to add a new DEL command\");\n \t\t\t\tecore_vlan_mac_h_read_unlock(sc, o);\n \t\t\t\treturn rc;\n@@ -1820,7 +1821,7 @@ static int ecore_vlan_mac_del_all(struct bnx2x_softc *sc,\n \t\t}\n \t}\n \n-\tECORE_MSG(\"vlan_mac_del_all -- releasing vlan_mac_lock (reader)\");\n+\tECORE_MSG(sc, \"vlan_mac_del_all -- releasing vlan_mac_lock (reader)\");\n \tecore_vlan_mac_h_read_unlock(sc, o);\n \n \tp.ramrod_flags = *ramrod_flags;\n@@ -2007,7 +2008,7 @@ static int ecore_set_rx_mode_e1x(struct bnx2x_softc *sc,\n \t    mac_filters->unmatched_unicast | mask :\n \t    mac_filters->unmatched_unicast & ~mask;\n \n-\tECORE_MSG(\"drop_ucast 0x%xdrop_mcast 0x%x accp_ucast 0x%x\"\n+\tECORE_MSG(sc, \"drop_ucast 0x%xdrop_mcast 0x%x accp_ucast 0x%x\"\n \t\t  \"accp_mcast 0x%xaccp_bcast 0x%x\",\n \t\t  mac_filters->ucast_drop_all, mac_filters->mcast_drop_all,\n \t\t  mac_filters->ucast_accept_all, mac_filters->mcast_accept_all,\n@@ -2153,8 +2154,8 @@ static int ecore_set_rx_mode_e2(struct bnx2x_softc *sc,\n \t */\n \tecore_rx_mode_set_rdata_hdr_e2(p->cid, &data->header, rule_idx);\n \n-\tECORE_MSG\n-\t    (\"About to configure %d rules, rx_accept_flags 0x%lx, tx_accept_flags 0x%lx\",\n+\t    ECORE_MSG\n+\t    (sc, \"About to configure %d rules, rx_accept_flags 0x%lx, tx_accept_flags 0x%lx\",\n \t     data->header.rule_cnt, p->rx_accept_flags, p->tx_accept_flags);\n \n \t/* No need for an explicit memory barrier here as long we would\n@@ -2207,7 +2208,7 @@ int ecore_config_rx_mode(struct bnx2x_softc *sc,\n \t\t\t\treturn rc;\n \t\t}\n \t} else {\n-\t\tECORE_MSG(\"ERROR: config_rx_mode is NULL\");\n+\t\tECORE_MSG(sc, \"ERROR: config_rx_mode is NULL\");\n \t\treturn -1;\n \t}\n \n@@ -2288,7 +2289,7 @@ static int ecore_mcast_enqueue_cmd(struct bnx2x_softc *sc __rte_unused,\n \tif (!new_cmd)\n \t\treturn ECORE_NOMEM;\n \n-\tECORE_MSG(\"About to enqueue a new %d command. macs_list_len=%d\",\n+\tECORE_MSG(sc, \"About to enqueue a new %d command. macs_list_len=%d\",\n \t\t  cmd, macs_list_len);\n \n \tECORE_LIST_INIT(&new_cmd->data.macs_head);\n@@ -2324,7 +2325,7 @@ static int ecore_mcast_enqueue_cmd(struct bnx2x_softc *sc __rte_unused,\n \n \tdefault:\n \t\tECORE_FREE(sc, new_cmd, total_sz);\n-\t\tPMD_DRV_LOG(ERR, \"Unknown command: %d\", cmd);\n+\t\tPMD_DRV_LOG(ERR, sc, \"Unknown command: %d\", cmd);\n \t\treturn ECORE_INVAL;\n \t}\n \n@@ -2436,11 +2437,11 @@ static void ecore_mcast_set_one_rule_e2(struct bnx2x_softc *sc __rte_unused,\n \t\tbreak;\n \n \tdefault:\n-\t\tPMD_DRV_LOG(ERR, \"Unknown command: %d\", cmd);\n+\t\tPMD_DRV_LOG(ERR, sc, \"Unknown command: %d\", cmd);\n \t\treturn;\n \t}\n \n-\tECORE_MSG(\"%s bin %d\",\n+\tECORE_MSG(sc, \"%s bin %d\",\n \t\t  ((rx_tx_add_flag & ETH_MULTICAST_RULES_CMD_IS_ADD) ?\n \t\t   \"Setting\" : \"Clearing\"), bin);\n \n@@ -2475,7 +2476,7 @@ static int ecore_mcast_handle_restore_cmd_e2(struct bnx2x_softc *sc,\n \n \t\tcnt++;\n \n-\t\tECORE_MSG(\"About to configure a bin %d\", cur_bin);\n+\t\tECORE_MSG(sc, \"About to configure a bin %d\", cur_bin);\n \n \t\t/* Break if we reached the maximum number\n \t\t * of rules.\n@@ -2507,8 +2508,8 @@ static void ecore_mcast_hdl_pending_add_e2(struct bnx2x_softc *sc,\n \n \t\tcnt++;\n \n-\t\tECORE_MSG\n-\t\t    (\"About to configure %02x:%02x:%02x:%02x:%02x:%02x mcast MAC\",\n+\t\t    ECORE_MSG\n+\t\t    (sc, \"About to configure %02x:%02x:%02x:%02x:%02x:%02x mcast MAC\",\n \t\t     pmac_pos->mac[0], pmac_pos->mac[1], pmac_pos->mac[2],\n \t\t     pmac_pos->mac[3], pmac_pos->mac[4], pmac_pos->mac[5]);\n \n@@ -2543,7 +2544,7 @@ static void ecore_mcast_hdl_pending_del_e2(struct bnx2x_softc *sc,\n \n \t\tcmd_pos->data.macs_num--;\n \n-\t\tECORE_MSG(\"Deleting MAC. %d left,cnt is %d\",\n+\t\tECORE_MSG(sc, \"Deleting MAC. %d left,cnt is %d\",\n \t\t\t  cmd_pos->data.macs_num, cnt);\n \n \t\t/* Break if we reached the maximum\n@@ -2602,7 +2603,8 @@ static int ecore_mcast_handle_pending_cmds_e2(struct bnx2x_softc *sc, struct\n \t\t\tbreak;\n \n \t\tdefault:\n-\t\t\tPMD_DRV_LOG(ERR, \"Unknown command: %d\", cmd_pos->type);\n+\t\t\tPMD_DRV_LOG(ERR, sc,\n+\t\t\t\t    \"Unknown command: %d\", cmd_pos->type);\n \t\t\treturn ECORE_INVAL;\n \t\t}\n \n@@ -2639,8 +2641,8 @@ static void ecore_mcast_hdl_add(struct bnx2x_softc *sc,\n \n \t\tcnt++;\n \n-\t\tECORE_MSG\n-\t\t    (\"About to configure %02x:%02x:%02x:%02x:%02x:%02x mcast MAC\",\n+\t\t    ECORE_MSG\n+\t\t    (sc, \"About to configure %02x:%02x:%02x:%02x:%02x:%02x mcast MAC\",\n \t\t     mlist_pos->mac[0], mlist_pos->mac[1], mlist_pos->mac[2],\n \t\t     mlist_pos->mac[3], mlist_pos->mac[4], mlist_pos->mac[5]);\n \t}\n@@ -2660,7 +2662,8 @@ static void ecore_mcast_hdl_del(struct bnx2x_softc *sc,\n \n \t\tcnt++;\n \n-\t\tECORE_MSG(\"Deleting MAC. %d left\", p->mcast_list_len - i - 1);\n+\t\tECORE_MSG(sc,\n+\t\t\t  \"Deleting MAC. %d left\", p->mcast_list_len - i - 1);\n \t}\n \n \t*line_idx = cnt;\n@@ -2686,7 +2689,7 @@ static int ecore_mcast_handle_current_cmd(struct bnx2x_softc *sc, struct\n \tstruct ecore_mcast_obj *o = p->mcast_obj;\n \tint cnt = start_cnt;\n \n-\tECORE_MSG(\"p->mcast_list_len=%d\", p->mcast_list_len);\n+\tECORE_MSG(sc, \"p->mcast_list_len=%d\", p->mcast_list_len);\n \n \tswitch (cmd) {\n \tcase ECORE_MCAST_CMD_ADD:\n@@ -2702,7 +2705,7 @@ static int ecore_mcast_handle_current_cmd(struct bnx2x_softc *sc, struct\n \t\tbreak;\n \n \tdefault:\n-\t\tPMD_DRV_LOG(ERR, \"Unknown command: %d\", cmd);\n+\t\tPMD_DRV_LOG(ERR, sc, \"Unknown command: %d\", cmd);\n \t\treturn ECORE_INVAL;\n \t}\n \n@@ -2747,7 +2750,7 @@ static int ecore_mcast_validate_e2(__rte_unused struct bnx2x_softc *sc,\n \t\tbreak;\n \n \tdefault:\n-\t\tPMD_DRV_LOG(ERR, \"Unknown command: %d\", cmd);\n+\t\tPMD_DRV_LOG(ERR, sc, \"Unknown command: %d\", cmd);\n \t\treturn ECORE_INVAL;\n \t}\n \n@@ -2933,8 +2936,8 @@ static void ecore_mcast_hdl_add_e1h(struct bnx2x_softc *sc __rte_unused,\n \t\tbit = ecore_mcast_bin_from_mac(mlist_pos->mac);\n \t\tECORE_57711_SET_MC_FILTER(mc_filter, bit);\n \n-\t\tECORE_MSG\n-\t\t    (\"About to configure %02x:%02x:%02x:%02x:%02x:%02x mcast MAC, bin %d\",\n+\t\t    ECORE_MSG\n+\t\t    (sc, \"About to configure %02x:%02x:%02x:%02x:%02x:%02x mcast MAC, bin %d\",\n \t\t     mlist_pos->mac[0], mlist_pos->mac[1], mlist_pos->mac[2],\n \t\t     mlist_pos->mac[3], mlist_pos->mac[4], mlist_pos->mac[5],\n \t\t     bit);\n@@ -2954,7 +2957,7 @@ static void ecore_mcast_hdl_restore_e1h(struct bnx2x_softc *sc\n \tfor (bit = ecore_mcast_get_next_bin(o, 0);\n \t     bit >= 0; bit = ecore_mcast_get_next_bin(o, bit + 1)) {\n \t\tECORE_57711_SET_MC_FILTER(mc_filter, bit);\n-\t\tECORE_MSG(\"About to set bin %d\", bit);\n+\t\tECORE_MSG(sc, \"About to set bin %d\", bit);\n \t}\n }\n \n@@ -2985,7 +2988,7 @@ static int ecore_mcast_setup_e1h(struct bnx2x_softc *sc,\n \t\t\tbreak;\n \n \t\tcase ECORE_MCAST_CMD_DEL:\n-\t\t\tECORE_MSG(\"Invalidating multicast MACs configuration\");\n+\t\t\tECORE_MSG(sc, \"Invalidating multicast MACs configuration\");\n \n \t\t\t/* clear the registry */\n \t\t\tECORE_MEMSET(o->registry.aprox_match.vec, 0,\n@@ -2997,7 +3000,7 @@ static int ecore_mcast_setup_e1h(struct bnx2x_softc *sc,\n \t\t\tbreak;\n \n \t\tdefault:\n-\t\t\tPMD_DRV_LOG(ERR, \"Unknown command: %d\", cmd);\n+\t\t\tPMD_DRV_LOG(ERR, sc, \"Unknown command: %d\", cmd);\n \t\t\treturn ECORE_INVAL;\n \t\t}\n \n@@ -3048,8 +3051,8 @@ int ecore_config_mcast(struct bnx2x_softc *sc,\n \tif ((!p->mcast_list_len) && (!o->check_sched(o)))\n \t\treturn ECORE_SUCCESS;\n \n-\tECORE_MSG\n-\t    (\"o->total_pending_num=%d p->mcast_list_len=%d o->max_cmd_len=%d\",\n+\t    ECORE_MSG\n+\t    (sc, \"o->total_pending_num=%d p->mcast_list_len=%d o->max_cmd_len=%d\",\n \t     o->total_pending_num, p->mcast_list_len, o->max_cmd_len);\n \n \t/* Enqueue the current command to the pending list if we can't complete\n@@ -3478,7 +3481,7 @@ static int ecore_setup_rss(struct bnx2x_softc *sc,\n \n \tECORE_MEMSET(data, 0, sizeof(*data));\n \n-\tECORE_MSG(\"Configuring RSS\");\n+\tECORE_MSG(sc, \"Configuring RSS\");\n \n \t/* Set an echo field */\n \tdata->echo = ECORE_CPU_TO_LE32((r->cid & ECORE_SWCID_MASK) |\n@@ -3492,7 +3495,7 @@ static int ecore_setup_rss(struct bnx2x_softc *sc,\n \n \tdata->rss_mode = rss_mode;\n \n-\tECORE_MSG(\"rss_mode=%d\", rss_mode);\n+\tECORE_MSG(sc, \"rss_mode=%d\", rss_mode);\n \n \t/* RSS capabilities */\n \tif (ECORE_TEST_BIT(ECORE_RSS_IPV4, &p->rss_flags))\n@@ -3532,7 +3535,7 @@ static int ecore_setup_rss(struct bnx2x_softc *sc,\n \t/* RSS engine ID */\n \tdata->rss_engine_id = o->engine_id;\n \n-\tECORE_MSG(\"rss_engine_id=%d\", data->rss_engine_id);\n+\tECORE_MSG(sc, \"rss_engine_id=%d\", data->rss_engine_id);\n \n \t/* Indirection table */\n \tECORE_MEMCPY(data->indirection_table, p->ind_table,\n@@ -3627,15 +3630,15 @@ int ecore_queue_state_change(struct bnx2x_softc *sc,\n \t/* Check that the requested transition is legal */\n \trc = o->check_transition(sc, o, params);\n \tif (rc) {\n-\t\tPMD_DRV_LOG(ERR, \"check transition returned an error. rc %d\",\n+\t\tPMD_DRV_LOG(ERR, sc, \"check transition returned an error. rc %d\",\n \t\t\t    rc);\n \t\treturn ECORE_INVAL;\n \t}\n \n \t/* Set \"pending\" bit */\n-\tECORE_MSG(\"pending bit was=%lx\", o->pending);\n+\tECORE_MSG(sc, \"pending bit was=%lx\", o->pending);\n \tpending_bit = o->set_pending(o, params);\n-\tECORE_MSG(\"pending bit now=%lx\", o->pending);\n+\tECORE_MSG(sc, \"pending bit now=%lx\", o->pending);\n \n \t/* Don't send a command if only driver cleanup was requested */\n \tif (ECORE_TEST_BIT(RAMROD_DRV_CLR_ONLY, &params->ramrod_flags))\n@@ -3702,7 +3705,7 @@ static int ecore_queue_comp_cmd(struct bnx2x_softc *sc __rte_unused,\n \tunsigned long cur_pending = o->pending;\n \n \tif (!ECORE_TEST_AND_CLEAR_BIT(cmd, &cur_pending)) {\n-\t\tPMD_DRV_LOG(ERR,\n+\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t    \"Bad MC reply %d for queue %d in state %d pending 0x%lx, next_state %d\",\n \t\t\t    cmd, o->cids[ECORE_PRIMARY_CID_INDEX], o->state,\n \t\t\t    cur_pending, o->next_state);\n@@ -3713,15 +3716,15 @@ static int ecore_queue_comp_cmd(struct bnx2x_softc *sc __rte_unused,\n \t\t/* >= because tx only must always be smaller than cos since the\n \t\t * primary connection supports COS 0\n \t\t */\n-\t\tPMD_DRV_LOG(ERR,\n+\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t    \"illegal value for next tx_only: %d. max cos was %d\",\n \t\t\t    o->next_tx_only, o->max_cos);\n \n-\tECORE_MSG(\"Completing command %d for queue %d, setting state to %d\",\n+\tECORE_MSG(sc, \"Completing command %d for queue %d, setting state to %d\",\n \t\t  cmd, o->cids[ECORE_PRIMARY_CID_INDEX], o->next_state);\n \n \tif (o->next_tx_only)\t/* print num tx-only if any exist */\n-\t\tECORE_MSG(\"primary cid %d: num tx-only cons %d\",\n+\t\tECORE_MSG(sc, \"primary cid %d: num tx-only cons %d\",\n \t\t\t  o->cids[ECORE_PRIMARY_CID_INDEX], o->next_tx_only);\n \n \to->state = o->next_state;\n@@ -3782,7 +3785,7 @@ static void ecore_q_fill_init_general_data(struct bnx2x_softc *sc __rte_unused,\n \t    ECORE_TEST_BIT(ECORE_Q_FLG_FCOE, flags) ?\n \t    LLFC_TRAFFIC_TYPE_FCOE : LLFC_TRAFFIC_TYPE_NW;\n \n-\tECORE_MSG(\"flags: active %d, cos %d, stats en %d\",\n+\tECORE_MSG(sc, \"flags: active %d, cos %d, stats en %d\",\n \t\t  gen_data->activate_flg, gen_data->cos,\n \t\t  gen_data->statistics_en_flg);\n }\n@@ -3923,7 +3926,7 @@ static void ecore_q_fill_setup_tx_only(struct bnx2x_softc *sc, struct ecore_queu\n \tecore_q_fill_init_tx_data(&cmd_params->params.tx_only.txq_params,\n \t\t\t\t  &data->tx, &cmd_params->params.tx_only.flags);\n \n-\tECORE_MSG(\"cid %d, tx bd page lo %x hi %x\",\n+\tECORE_MSG(sc, \"cid %d, tx bd page lo %x hi %x\",\n \t\t  cmd_params->q_obj->cids[0],\n \t\t  data->tx.tx_bd_page_base.lo, data->tx.tx_bd_page_base.hi);\n }\n@@ -3973,9 +3976,9 @@ static int ecore_q_init(struct bnx2x_softc *sc,\n \n \t/* Set CDU context validation values */\n \tfor (cos = 0; cos < o->max_cos; cos++) {\n-\t\tECORE_MSG(\"setting context validation. cid %d, cos %d\",\n+\t\tECORE_MSG(sc, \"setting context validation. cid %d, cos %d\",\n \t\t\t  o->cids[cos], cos);\n-\t\tECORE_MSG(\"context pointer %p\", init->cxts[cos]);\n+\t\tECORE_MSG(sc, \"context pointer %p\", init->cxts[cos]);\n \t\tECORE_SET_CTX_VALIDATION(sc, init->cxts[cos], o->cids[cos]);\n \t}\n \n@@ -4059,15 +4062,15 @@ static int ecore_q_send_setup_tx_only(struct bnx2x_softc *sc, struct ecore_queue\n \n \tif (ECORE_TEST_BIT(ECORE_Q_TYPE_FWD, &o->type))\n \t\tramrod = RAMROD_CMD_ID_ETH_FORWARD_SETUP;\n-\tECORE_MSG(\"sending forward tx-only ramrod\");\n+\tECORE_MSG(sc, \"sending forward tx-only ramrod\");\n \n \tif (cid_index >= o->max_cos) {\n-\t\tPMD_DRV_LOG(ERR, \"queue[%d]: cid_index (%d) is out of range\",\n+\t\tPMD_DRV_LOG(ERR, sc, \"queue[%d]: cid_index (%d) is out of range\",\n \t\t\t    o->cl_id, cid_index);\n \t\treturn ECORE_INVAL;\n \t}\n \n-\tECORE_MSG(\"parameters received: cos: %d sp-id: %d\",\n+\tECORE_MSG(sc, \"parameters received: cos: %d sp-id: %d\",\n \t\t  tx_only_params->gen_params.cos,\n \t\t  tx_only_params->gen_params.spcl_id);\n \n@@ -4077,8 +4080,8 @@ static int ecore_q_send_setup_tx_only(struct bnx2x_softc *sc, struct ecore_queue\n \t/* Fill the ramrod data */\n \tecore_q_fill_setup_tx_only(sc, params, rdata);\n \n-\tECORE_MSG\n-\t    (\"sending tx-only ramrod: cid %d, client-id %d, sp-client id %d, cos %d\",\n+\t    ECORE_MSG\n+\t    (sc, \"sending tx-only ramrod: cid %d, client-id %d, sp-client id %d, cos %d\",\n \t     o->cids[cid_index], rdata->general.client_id,\n \t     rdata->general.sp_client_id, rdata->general.cos);\n \n@@ -4173,7 +4176,7 @@ static int ecore_q_send_update(struct bnx2x_softc *sc,\n \tuint8_t cid_index = update_params->cid_index;\n \n \tif (cid_index >= o->max_cos) {\n-\t\tPMD_DRV_LOG(ERR, \"queue[%d]: cid_index (%d) is out of range\",\n+\t\tPMD_DRV_LOG(ERR, sc, \"queue[%d]: cid_index (%d) is out of range\",\n \t\t\t    o->cl_id, cid_index);\n \t\treturn ECORE_INVAL;\n \t}\n@@ -4267,7 +4270,7 @@ static int ecore_q_send_cfc_del(struct bnx2x_softc *sc,\n \tuint8_t cid_idx = params->params.cfc_del.cid_index;\n \n \tif (cid_idx >= o->max_cos) {\n-\t\tPMD_DRV_LOG(ERR, \"queue[%d]: cid_index (%d) is out of range\",\n+\t\tPMD_DRV_LOG(ERR, sc, \"queue[%d]: cid_index (%d) is out of range\",\n \t\t\t    o->cl_id, cid_idx);\n \t\treturn ECORE_INVAL;\n \t}\n@@ -4283,7 +4286,7 @@ static int ecore_q_send_terminate(struct bnx2x_softc *sc, struct ecore_queue_sta\n \tuint8_t cid_index = params->params.terminate.cid_index;\n \n \tif (cid_index >= o->max_cos) {\n-\t\tPMD_DRV_LOG(ERR, \"queue[%d]: cid_index (%d) is out of range\",\n+\t\tPMD_DRV_LOG(ERR, sc, \"queue[%d]: cid_index (%d) is out of range\",\n \t\t\t    o->cl_id, cid_index);\n \t\treturn ECORE_INVAL;\n \t}\n@@ -4327,7 +4330,7 @@ static int ecore_queue_send_cmd_cmn(struct bnx2x_softc *sc, struct ecore_queue_s\n \tcase ECORE_Q_CMD_EMPTY:\n \t\treturn ecore_q_send_empty(sc, params);\n \tdefault:\n-\t\tPMD_DRV_LOG(ERR, \"Unknown command: %d\", params->cmd);\n+\t\tPMD_DRV_LOG(ERR, sc, \"Unknown command: %d\", params->cmd);\n \t\treturn ECORE_INVAL;\n \t}\n }\n@@ -4350,7 +4353,7 @@ static int ecore_queue_send_cmd_e1x(struct bnx2x_softc *sc,\n \tcase ECORE_Q_CMD_EMPTY:\n \t\treturn ecore_queue_send_cmd_cmn(sc, params);\n \tdefault:\n-\t\tPMD_DRV_LOG(ERR, \"Unknown command: %d\", params->cmd);\n+\t\tPMD_DRV_LOG(ERR, sc, \"Unknown command: %d\", params->cmd);\n \t\treturn ECORE_INVAL;\n \t}\n }\n@@ -4373,7 +4376,7 @@ static int ecore_queue_send_cmd_e2(struct bnx2x_softc *sc,\n \tcase ECORE_Q_CMD_EMPTY:\n \t\treturn ecore_queue_send_cmd_cmn(sc, params);\n \tdefault:\n-\t\tPMD_DRV_LOG(ERR, \"Unknown command: %d\", params->cmd);\n+\t\tPMD_DRV_LOG(ERR, sc, \"Unknown command: %d\", params->cmd);\n \t\treturn ECORE_INVAL;\n \t}\n }\n@@ -4416,7 +4419,7 @@ static int ecore_queue_chk_transition(struct bnx2x_softc *sc __rte_unused,\n \t * the previous one.\n \t */\n \tif (o->pending) {\n-\t\tPMD_DRV_LOG(ERR, \"Blocking transition since pending was %lx\",\n+\t\tPMD_DRV_LOG(ERR, sc, \"Blocking transition since pending was %lx\",\n \t\t\t    o->pending);\n \t\treturn ECORE_BUSY;\n \t}\n@@ -4543,19 +4546,19 @@ static int ecore_queue_chk_transition(struct bnx2x_softc *sc __rte_unused,\n \n \t\tbreak;\n \tdefault:\n-\t\tPMD_DRV_LOG(ERR, \"Illegal state: %d\", state);\n+\t\tPMD_DRV_LOG(ERR, sc, \"Illegal state: %d\", state);\n \t}\n \n \t/* Transition is assured */\n \tif (next_state != ECORE_Q_STATE_MAX) {\n-\t\tECORE_MSG(\"Good state transition: %d(%d)->%d\",\n+\t\tECORE_MSG(sc, \"Good state transition: %d(%d)->%d\",\n \t\t\t  state, cmd, next_state);\n \t\to->next_state = next_state;\n \t\to->next_tx_only = next_tx_only;\n \t\treturn ECORE_SUCCESS;\n \t}\n \n-\tECORE_MSG(\"Bad state transition request: %d %d\", state, cmd);\n+\tECORE_MSG(sc, \"Bad state transition request: %d %d\", state, cmd);\n \n \treturn ECORE_INVAL;\n }\n@@ -4606,18 +4609,18 @@ static int ecore_queue_chk_fwd_transition(struct bnx2x_softc *sc __rte_unused,\n \n \t\tbreak;\n \tdefault:\n-\t\tPMD_DRV_LOG(ERR, \"Illegal state: %d\", state);\n+\t\tPMD_DRV_LOG(ERR, sc, \"Illegal state: %d\", state);\n \t}\n \n \t/* Transition is assured */\n \tif (next_state != ECORE_Q_STATE_MAX) {\n-\t\tECORE_MSG(\"Good state transition: %d(%d)->%d\",\n+\t\tECORE_MSG(sc, \"Good state transition: %d(%d)->%d\",\n \t\t\t  state, cmd, next_state);\n \t\to->next_state = next_state;\n \t\treturn ECORE_SUCCESS;\n \t}\n \n-\tECORE_MSG(\"Bad state transition request: %d %d\", state, cmd);\n+\tECORE_MSG(sc, \"Bad state transition request: %d %d\", state, cmd);\n \treturn ECORE_INVAL;\n }\n \n@@ -4697,14 +4700,14 @@ static int ecore_func_wait_comp(struct bnx2x_softc *sc,\n \tunsigned long cur_pending = o->pending;\n \n \tif (!ECORE_TEST_AND_CLEAR_BIT(cmd, &cur_pending)) {\n-\t\tPMD_DRV_LOG(ERR,\n+\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t    \"Bad MC reply %d for func %d in state %d pending 0x%lx, next_state %d\",\n \t\t\t    cmd, ECORE_FUNC_ID(sc), o->state, cur_pending,\n \t\t\t    o->next_state);\n \t\treturn ECORE_INVAL;\n \t}\n \n-\tECORE_MSG(\"Completing command %d for func %d, setting state to %d\",\n+\tECORE_MSG(sc, \"Completing command %d for func %d, setting state to %d\",\n \t\t  cmd, ECORE_FUNC_ID(sc), o->next_state);\n \n \to->state = o->next_state;\n@@ -4827,18 +4830,19 @@ static int ecore_func_chk_transition(struct bnx2x_softc *sc __rte_unused,\n \n \t\tbreak;\n \tdefault:\n-\t\tPMD_DRV_LOG(ERR, \"Unknown state: %d\", state);\n+\t\tPMD_DRV_LOG(ERR, sc, \"Unknown state: %d\", state);\n \t}\n \n \t/* Transition is assured */\n \tif (next_state != ECORE_F_STATE_MAX) {\n-\t\tECORE_MSG(\"Good function state transition: %d(%d)->%d\",\n+\t\tECORE_MSG(sc, \"Good function state transition: %d(%d)->%d\",\n \t\t\t  state, cmd, next_state);\n \t\to->next_state = next_state;\n \t\treturn ECORE_SUCCESS;\n \t}\n \n-\tECORE_MSG(\"Bad function state transition request: %d %d\", state, cmd);\n+\tECORE_MSG(sc,\n+\t\t  \"Bad function state transition request: %d %d\", state, cmd);\n \n \treturn ECORE_INVAL;\n }\n@@ -4928,13 +4932,13 @@ static int ecore_func_hw_init(struct bnx2x_softc *sc,\n \tconst struct ecore_func_sp_drv_ops *drv = o->drv;\n \tint rc = 0;\n \n-\tECORE_MSG(\"function %d  load_code %x\",\n+\tECORE_MSG(sc, \"function %d  load_code %x\",\n \t\t  ECORE_ABS_FUNC_ID(sc), load_code);\n \n \t/* Prepare FW */\n \trc = drv->init_fw(sc);\n \tif (rc) {\n-\t\tPMD_DRV_LOG(ERR, \"Error loading firmware\");\n+\t\tPMD_DRV_LOG(ERR, sc, \"Error loading firmware\");\n \t\tgoto init_err;\n \t}\n \n@@ -4965,7 +4969,7 @@ static int ecore_func_hw_init(struct bnx2x_softc *sc,\n \n \t\tbreak;\n \tdefault:\n-\t\tPMD_DRV_LOG(ERR, \"Unknown load_code (0x%x) from MCP\",\n+\t\tPMD_DRV_LOG(ERR, sc, \"Unknown load_code (0x%x) from MCP\",\n \t\t\t    load_code);\n \t\trc = ECORE_INVAL;\n \t}\n@@ -5041,7 +5045,7 @@ static int ecore_func_hw_reset(struct bnx2x_softc *sc,\n \tstruct ecore_func_sp_obj *o = params->f_obj;\n \tconst struct ecore_func_sp_drv_ops *drv = o->drv;\n \n-\tECORE_MSG(\"function %d  reset_phase %x\", ECORE_ABS_FUNC_ID(sc),\n+\tECORE_MSG(sc, \"function %d  reset_phase %x\", ECORE_ABS_FUNC_ID(sc),\n \t\t  reset_phase);\n \n \tswitch (reset_phase) {\n@@ -5055,7 +5059,7 @@ static int ecore_func_hw_reset(struct bnx2x_softc *sc,\n \t\tecore_func_reset_func(sc, drv);\n \t\tbreak;\n \tdefault:\n-\t\tPMD_DRV_LOG(ERR, \"Unknown reset_phase (0x%x) from MCP\",\n+\t\tPMD_DRV_LOG(ERR, sc, \"Unknown reset_phase (0x%x) from MCP\",\n \t\t\t    reset_phase);\n \t\tbreak;\n \t}\n@@ -5146,7 +5150,7 @@ static int ecore_func_send_afex_update(struct bnx2x_softc *sc, struct ecore_func\n \t *  read and we will have to put a full memory barrier there\n \t *  (inside ecore_sp_post()).\n \t */\n-\tECORE_MSG(\"afex: sending func_update vif_id 0x%x dvlan 0x%x prio 0x%x\",\n+\tECORE_MSG(sc, \"afex: sending func_update vif_id 0x%x dvlan 0x%x prio 0x%x\",\n \t\t  rdata->vif_id,\n \t\t  rdata->afex_default_vlan, rdata->allowed_priorities);\n \n@@ -5184,8 +5188,8 @@ inline int ecore_func_send_afex_viflists(struct bnx2x_softc *sc,\n \t *  (inside ecore_sp_post()).\n \t */\n \n-\tECORE_MSG\n-\t    (\"afex: ramrod lists, cmd 0x%x index 0x%x func_bit_map 0x%x func_to_clr 0x%x\",\n+\t    ECORE_MSG\n+\t    (sc, \"afex: ramrod lists, cmd 0x%x index 0x%x func_bit_map 0x%x func_to_clr 0x%x\",\n \t     rdata->afex_vif_list_command, rdata->vif_list_index,\n \t     rdata->func_bit_map, rdata->func_to_clear);\n \n@@ -5256,7 +5260,7 @@ static int ecore_func_send_cmd(struct bnx2x_softc *sc,\n \tcase ECORE_F_CMD_SWITCH_UPDATE:\n \t\treturn ecore_func_send_switch_update(sc, params);\n \tdefault:\n-\t\tPMD_DRV_LOG(ERR, \"Unknown command: %d\", params->cmd);\n+\t\tPMD_DRV_LOG(ERR, sc, \"Unknown command: %d\", params->cmd);\n \t\treturn ECORE_INVAL;\n \t}\n }\n@@ -5317,7 +5321,7 @@ int ecore_func_state_change(struct bnx2x_softc *sc,\n \t\t}\n \t\tif (rc == ECORE_BUSY) {\n \t\t\tECORE_MUTEX_UNLOCK(&o->one_pending_mutex);\n-\t\t\tPMD_DRV_LOG(ERR,\n+\t\t\tPMD_DRV_LOG(ERR, sc,\n \t\t\t\t    \"timeout waiting for previous ramrod completion\");\n \t\t\treturn rc;\n \t\t}\ndiff --git a/drivers/net/bnx2x/ecore_sp.h b/drivers/net/bnx2x/ecore_sp.h\nindex 6b65a49..f295bf5 100644\n--- a/drivers/net/bnx2x/ecore_sp.h\n+++ b/drivers/net/bnx2x/ecore_sp.h\n@@ -215,8 +215,8 @@ uint32_t ecore_calc_crc32(uint32_t crc, uint8_t const *p,\n     } while (0)\n \n \n-#define ECORE_MSG(m, ...) \\\n-\tPMD_DRV_LOG(DEBUG, m, ##__VA_ARGS__)\n+#define ECORE_MSG(sc, m, ...) \\\n+\tPMD_DRV_LOG(DEBUG, sc, m, ##__VA_ARGS__)\n \n typedef struct _ecore_list_entry_t\n {\ndiff --git a/drivers/net/bnx2x/elink.c b/drivers/net/bnx2x/elink.c\nindex b63fd23..1f94476 100644\n--- a/drivers/net/bnx2x/elink.c\n+++ b/drivers/net/bnx2x/elink.c\n@@ -942,7 +942,7 @@ static int elink_check_lfa(struct elink_params *params)\n \t * to verify DCC bit is cleared in any case!\n \t */\n \tif (additional_config & NO_LFA_DUE_TO_DCC_MASK) {\n-\t\tPMD_DRV_LOG(DEBUG, \"No LFA due to DCC flap after clp exit\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"No LFA due to DCC flap after clp exit\");\n \t\tREG_WR(sc, params->lfa_base +\n \t\t       offsetof(struct shmem_lfa, additional_config),\n \t\t       additional_config & ~NO_LFA_DUE_TO_DCC_MASK);\n@@ -983,7 +983,7 @@ static int elink_check_lfa(struct elink_params *params)\n \t\t\t   offsetof(struct shmem_lfa, req_duplex));\n \treq_val = params->req_duplex[0] | (params->req_duplex[1] << 16);\n \tif ((saved_val & lfa_mask) != (req_val & lfa_mask)) {\n-\t\tPMD_DRV_LOG(INFO, \"Duplex mismatch %x vs. %x\",\n+\t\tPMD_DRV_LOG(INFO, sc, \"Duplex mismatch %x vs. %x\",\n \t\t\t    (saved_val & lfa_mask), (req_val & lfa_mask));\n \t\treturn LFA_DUPLEX_MISMATCH;\n \t}\n@@ -992,7 +992,7 @@ static int elink_check_lfa(struct elink_params *params)\n \t\t\t   offsetof(struct shmem_lfa, req_flow_ctrl));\n \treq_val = params->req_flow_ctrl[0] | (params->req_flow_ctrl[1] << 16);\n \tif ((saved_val & lfa_mask) != (req_val & lfa_mask)) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Flow control mismatch %x vs. %x\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Flow control mismatch %x vs. %x\",\n \t\t\t    (saved_val & lfa_mask), (req_val & lfa_mask));\n \t\treturn LFA_FLOW_CTRL_MISMATCH;\n \t}\n@@ -1001,7 +1001,7 @@ static int elink_check_lfa(struct elink_params *params)\n \t\t\t   offsetof(struct shmem_lfa, req_line_speed));\n \treq_val = params->req_line_speed[0] | (params->req_line_speed[1] << 16);\n \tif ((saved_val & lfa_mask) != (req_val & lfa_mask)) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Link speed mismatch %x vs. %x\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Link speed mismatch %x vs. %x\",\n \t\t\t    (saved_val & lfa_mask), (req_val & lfa_mask));\n \t\treturn LFA_LINK_SPEED_MISMATCH;\n \t}\n@@ -1012,7 +1012,7 @@ static int elink_check_lfa(struct elink_params *params)\n \t\t\t\t\t\t     speed_cap_mask[cfg_idx]));\n \n \t\tif (cur_speed_cap_mask != params->speed_cap_mask[cfg_idx]) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Speed Cap mismatch %x vs. %x\",\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Speed Cap mismatch %x vs. %x\",\n \t\t\t\t    cur_speed_cap_mask,\n \t\t\t\t    params->speed_cap_mask[cfg_idx]);\n \t\t\treturn LFA_SPEED_CAP_MISMATCH;\n@@ -1025,7 +1025,7 @@ static int elink_check_lfa(struct elink_params *params)\n \t    REQ_FC_AUTO_ADV_MASK;\n \n \tif ((uint16_t) cur_req_fc_auto_adv != params->req_fc_auto_adv) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Flow Ctrl AN mismatch %x vs. %x\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Flow Ctrl AN mismatch %x vs. %x\",\n \t\t\t    cur_req_fc_auto_adv, params->req_fc_auto_adv);\n \t\treturn LFA_FLOW_CTRL_MISMATCH;\n \t}\n@@ -1038,7 +1038,8 @@ static int elink_check_lfa(struct elink_params *params)\n \t     (params->eee_mode & ELINK_EEE_MODE_ENABLE_LPI)) ||\n \t    ((eee_status & SHMEM_EEE_REQUESTED_BIT) ^\n \t     (params->eee_mode & ELINK_EEE_MODE_ADV_LPI))) {\n-\t\tPMD_DRV_LOG(DEBUG, \"EEE mismatch %x vs. %x\", params->eee_mode,\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t\t    \"EEE mismatch %x vs. %x\", params->eee_mode,\n \t\t\t    eee_status);\n \t\treturn LFA_EEE_MISMATCH;\n \t}\n@@ -1057,7 +1058,7 @@ static void elink_get_epio(struct bnx2x_softc *sc, uint32_t epio_pin,\n \t*en = 0;\n \t/* Sanity check */\n \tif (epio_pin > 31) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Invalid EPIO pin %d to get\", epio_pin);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Invalid EPIO pin %d to get\", epio_pin);\n \t\treturn;\n \t}\n \n@@ -1075,10 +1076,10 @@ static void elink_set_epio(struct bnx2x_softc *sc, uint32_t epio_pin, uint32_t e\n \n \t/* Sanity check */\n \tif (epio_pin > 31) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Invalid EPIO pin %d to set\", epio_pin);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Invalid EPIO pin %d to set\", epio_pin);\n \t\treturn;\n \t}\n-\tPMD_DRV_LOG(DEBUG, \"Setting EPIO pin %d to %d\", epio_pin, en);\n+\tPMD_DRV_LOG(DEBUG, sc, \"Setting EPIO pin %d to %d\", epio_pin, en);\n \tepio_mask = 1 << epio_pin;\n \t/* Set this EPIO to output */\n \tgp_output = REG_RD(sc, MCP_REG_MCPR_GP_OUTPUTS);\n@@ -1209,7 +1210,7 @@ static void elink_set_mdio_clk(struct bnx2x_softc *sc, uint32_t emac_base)\n \tnew_mode |= clc_cnt;\n \tnew_mode |= (EMAC_MDIO_MODE_CLAUSE_45);\n \n-\tPMD_DRV_LOG(DEBUG, \"Changing emac_mode from 0x%x to 0x%x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"Changing emac_mode from 0x%x to 0x%x\",\n \t\t    cur_mode, new_mode);\n \tREG_WR(sc, emac_base + EMAC_REG_EMAC_MDIO_MODE, new_mode);\n \tDELAY(40);\n@@ -1262,9 +1263,9 @@ static void elink_emac_init(struct elink_params *params)\n \ttimeout = 200;\n \tdo {\n \t\tval = REG_RD(sc, emac_base + EMAC_REG_EMAC_MODE);\n-\t\tPMD_DRV_LOG(DEBUG, \"EMAC reset reg is %u\", val);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"EMAC reset reg is %u\", val);\n \t\tif (!timeout) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"EMAC timeout!\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"EMAC timeout!\");\n \t\t\treturn;\n \t\t}\n \t\ttimeout--;\n@@ -1327,7 +1328,7 @@ static void elink_umac_enable(struct elink_params *params,\n \tREG_WR(sc, GRCBASE_MISC + MISC_REGISTERS_RESET_REG_2_SET,\n \t       (MISC_REGISTERS_RESET_REG_2_UMAC0 << params->port));\n \n-\tPMD_DRV_LOG(DEBUG, \"enabling UMAC\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"enabling UMAC\");\n \n \t/* This register opens the gate for the UMAC despite its name */\n \tREG_WR(sc, NIG_REG_EGRESS_EMAC0_PORT + params->port * 4, 1);\n@@ -1350,7 +1351,7 @@ static void elink_umac_enable(struct elink_params *params,\n \t\tval |= (3 << 2);\n \t\tbreak;\n \tdefault:\n-\t\tPMD_DRV_LOG(DEBUG, \"Invalid speed for UMAC %d\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Invalid speed for UMAC %d\",\n \t\t\t    vars->line_speed);\n \t\tbreak;\n \t}\n@@ -1368,7 +1369,7 @@ static void elink_umac_enable(struct elink_params *params,\n \n \t/* Configure UMAC for EEE */\n \tif (vars->eee_status & SHMEM_EEE_ADV_STATUS_MASK) {\n-\t\tPMD_DRV_LOG(DEBUG, \"configured UMAC for EEE\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"configured UMAC for EEE\");\n \t\tREG_WR(sc, umac_base + UMAC_REG_UMAC_EEE_CTRL,\n \t\t       UMAC_UMAC_EEE_CTRL_REG_EEE_EN);\n \t\tREG_WR(sc, umac_base + UMAC_REG_EEE_WAKE_TIMER, 0x11);\n@@ -1426,7 +1427,7 @@ static void elink_xmac_init(struct elink_params *params, uint32_t max_speed)\n \t    is_port4mode &&\n \t    (REG_RD(sc, MISC_REG_RESET_REG_2) &\n \t     MISC_REGISTERS_RESET_REG_2_XMAC)) {\n-\t\tPMD_DRV_LOG(DEBUG, \"XMAC already out of reset in 4-port mode\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"XMAC already out of reset in 4-port mode\");\n \t\treturn;\n \t}\n \n@@ -1438,7 +1439,7 @@ static void elink_xmac_init(struct elink_params *params, uint32_t max_speed)\n \tREG_WR(sc, GRCBASE_MISC + MISC_REGISTERS_RESET_REG_2_SET,\n \t       MISC_REGISTERS_RESET_REG_2_XMAC);\n \tif (is_port4mode) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Init XMAC to 2 ports x 10G per path\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Init XMAC to 2 ports x 10G per path\");\n \n \t\t/* Set the number of ports on the system side to up to 2 */\n \t\tREG_WR(sc, MISC_REG_XMAC_CORE_PORT_MODE, 1);\n@@ -1449,12 +1450,12 @@ static void elink_xmac_init(struct elink_params *params, uint32_t max_speed)\n \t\t/* Set the number of ports on the system side to 1 */\n \t\tREG_WR(sc, MISC_REG_XMAC_CORE_PORT_MODE, 0);\n \t\tif (max_speed == ELINK_SPEED_10000) {\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t    \"Init XMAC to 10G x 1 port per path\");\n \t\t\t/* Set the number of ports on the Warp Core to 10G */\n \t\t\tREG_WR(sc, MISC_REG_XMAC_PHY_PORT_MODE, 3);\n \t\t} else {\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t    \"Init XMAC to 20G x 2 ports per path\");\n \t\t\t/* Set the number of ports on the Warp Core to 20G */\n \t\t\tREG_WR(sc, MISC_REG_XMAC_PHY_PORT_MODE, 1);\n@@ -1487,7 +1488,7 @@ static void elink_set_xmac_rxtx(struct elink_params *params, uint8_t en)\n \t\t       (pfc_ctrl & ~(1 << 1)));\n \t\tREG_WR(sc, xmac_base + XMAC_REG_PFC_CTRL_HI,\n \t\t       (pfc_ctrl | (1 << 1)));\n-\t\tPMD_DRV_LOG(DEBUG, \"Disable XMAC on port %x\", port);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Disable XMAC on port %x\", port);\n \t\tval = REG_RD(sc, xmac_base + XMAC_REG_CTRL);\n \t\tif (en)\n \t\t\tval |= (XMAC_CTRL_REG_TX_EN | XMAC_CTRL_REG_RX_EN);\n@@ -1502,7 +1503,7 @@ static elink_status_t elink_xmac_enable(struct elink_params *params,\n {\n \tuint32_t val, xmac_base;\n \tstruct bnx2x_softc *sc = params->sc;\n-\tPMD_DRV_LOG(DEBUG, \"enabling XMAC\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"enabling XMAC\");\n \n \txmac_base = (params->port) ? GRCBASE_XMAC1 : GRCBASE_XMAC0;\n \n@@ -1539,7 +1540,7 @@ static elink_status_t elink_xmac_enable(struct elink_params *params,\n \telink_update_pfc_xmac(params, vars);\n \n \tif (vars->eee_status & SHMEM_EEE_ADV_STATUS_MASK) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Setting XMAC for EEE\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Setting XMAC for EEE\");\n \t\tREG_WR(sc, xmac_base + XMAC_REG_EEE_TIMERS_HI, 0x1380008);\n \t\tREG_WR(sc, xmac_base + XMAC_REG_EEE_CTRL, 0x1);\n \t} else {\n@@ -1575,7 +1576,7 @@ static elink_status_t elink_emac_enable(struct elink_params *params,\n \tuint32_t emac_base = port ? GRCBASE_EMAC1 : GRCBASE_EMAC0;\n \tuint32_t val;\n \n-\tPMD_DRV_LOG(DEBUG, \"enabling EMAC\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"enabling EMAC\");\n \n \t/* Disable BMAC */\n \tREG_WR(sc, GRCBASE_MISC + MISC_REGISTERS_RESET_REG_2_CLEAR,\n@@ -1589,14 +1590,14 @@ static elink_status_t elink_emac_enable(struct elink_params *params,\n \t\t\t\t      PORT_HW_CFG_LANE_SWAP_CFG_MASTER_MASK) >>\n \t\t\t\t     PORT_HW_CFG_LANE_SWAP_CFG_MASTER_SHIFT);\n \n-\t\tPMD_DRV_LOG(DEBUG, \"XGXS\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"XGXS\");\n \t\t/* select the master lanes (out of 0-3) */\n \t\tREG_WR(sc, NIG_REG_XGXS_LANE_SEL_P0 + port * 4, ser_lane);\n \t\t/* select XGXS */\n \t\tREG_WR(sc, NIG_REG_XGXS_SERDES0_MODE_SEL + port * 4, 1);\n \n \t} else {\t\t/* SerDes */\n-\t\tPMD_DRV_LOG(DEBUG, \"SerDes\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"SerDes\");\n \t\t/* select SerDes */\n \t\tREG_WR(sc, NIG_REG_XGXS_SERDES0_MODE_SEL + port * 4, 0);\n \t}\n@@ -1642,7 +1643,7 @@ static elink_status_t elink_emac_enable(struct elink_params *params,\n \t */\n \telink_cb_reg_write(sc, emac_base + EMAC_REG_RX_PFC_MODE, 0);\n \tif (params->feature_config_flags & ELINK_FEATURE_CONFIG_PFC_ENABLED) {\n-\t\tPMD_DRV_LOG(DEBUG, \"PFC is enabled\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"PFC is enabled\");\n \t\t/* Enable PFC again */\n \t\telink_cb_reg_write(sc, emac_base + EMAC_REG_RX_PFC_MODE,\n \t\t\t\t   EMAC_REG_RX_PFC_MODE_RX_EN |\n@@ -1762,7 +1763,7 @@ static void elink_update_pfc_bmac2(struct elink_params *params,\n \tREG_WR_DMAE(sc, bmac_addr + BIGMAC2_REGISTER_TX_CONTROL, wb_data, 2);\n \n \tif (params->feature_config_flags & ELINK_FEATURE_CONFIG_PFC_ENABLED) {\n-\t\tPMD_DRV_LOG(DEBUG, \"PFC is enabled\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"PFC is enabled\");\n \t\t/* Enable PFC RX & TX & STATS and set 8 COS  */\n \t\twb_data[0] = 0x0;\n \t\twb_data[0] |= (1 << 0);\t/* RX */\n@@ -1776,7 +1777,7 @@ static void elink_update_pfc_bmac2(struct elink_params *params,\n \t\t/* Clear the force Xon */\n \t\twb_data[0] &= ~(1 << 2);\n \t} else {\n-\t\tPMD_DRV_LOG(DEBUG, \"PFC is disabled\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"PFC is disabled\");\n \t\t/* Disable PFC RX & TX & STATS and set 8 COS */\n \t\twb_data[0] = 0x8;\n \t\twb_data[1] = 0;\n@@ -1802,7 +1803,7 @@ static void elink_update_pfc_bmac2(struct elink_params *params,\n \tval = 0x3;\t\t/* Enable RX and TX */\n \tif (is_lb) {\n \t\tval |= 0x4;\t/* Local loopback */\n-\t\tPMD_DRV_LOG(DEBUG, \"enable bmac loopback\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"enable bmac loopback\");\n \t}\n \t/* When PFC enabled, Pass pause frames towards the NIG. */\n \tif (params->feature_config_flags & ELINK_FEATURE_CONFIG_PFC_ENABLED)\n@@ -1896,7 +1897,7 @@ static void elink_update_pfc_nig(struct elink_params *params,\n \n \tint set_pfc = params->feature_config_flags &\n \t    ELINK_FEATURE_CONFIG_PFC_ENABLED;\n-\tPMD_DRV_LOG(DEBUG, \"updating pfc nig parameters\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"updating pfc nig parameters\");\n \n \t/* When NIG_LLH0_XCM_MASK_REG_LLHX_XCM_MASK_BCN bit is set\n \t * MAC control frames (that are not pause packets)\n@@ -2008,7 +2009,7 @@ elink_status_t elink_update_pfc(struct elink_params *params,\n \tif (!vars->link_up)\n \t\treturn elink_status;\n \n-\tPMD_DRV_LOG(DEBUG, \"About to update PFC in BMAC\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"About to update PFC in BMAC\");\n \n \tif (CHIP_IS_E3(sc)) {\n \t\tif (vars->mac_type == ELINK_MAC_TYPE_XMAC)\n@@ -2018,7 +2019,7 @@ elink_status_t elink_update_pfc(struct elink_params *params,\n \t\tif ((val &\n \t\t     (MISC_REGISTERS_RESET_REG_2_RST_BMAC0 << params->port))\n \t\t    == 0) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"About to update PFC in EMAC\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"About to update PFC in EMAC\");\n \t\t\telink_emac_enable(params, vars, 0);\n \t\t\treturn elink_status;\n \t\t}\n@@ -2047,7 +2048,7 @@ static elink_status_t elink_bmac1_enable(struct elink_params *params,\n \tuint32_t wb_data[2];\n \tuint32_t val;\n \n-\tPMD_DRV_LOG(DEBUG, \"Enabling BigMAC1\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Enabling BigMAC1\");\n \n \t/* XGXS control */\n \twb_data[0] = 0x3c;\n@@ -2066,7 +2067,7 @@ static elink_status_t elink_bmac1_enable(struct elink_params *params,\n \tval = 0x3;\n \tif (is_lb) {\n \t\tval |= 0x4;\n-\t\tPMD_DRV_LOG(DEBUG, \"enable bmac loopback\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"enable bmac loopback\");\n \t}\n \twb_data[0] = val;\n \twb_data[1] = 0;\n@@ -2107,7 +2108,7 @@ static elink_status_t elink_bmac2_enable(struct elink_params *params,\n \t    NIG_REG_INGRESS_BMAC0_MEM;\n \tuint32_t wb_data[2];\n \n-\tPMD_DRV_LOG(DEBUG, \"Enabling BigMAC2\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Enabling BigMAC2\");\n \n \twb_data[0] = 0;\n \twb_data[1] = 0;\n@@ -2245,7 +2246,7 @@ static elink_status_t elink_pbf_update(struct elink_params *params,\n \t/* Wait for init credit */\n \tinit_crd = REG_RD(sc, PBF_REG_P0_INIT_CRD + port * 4);\n \tcrd = REG_RD(sc, PBF_REG_P0_CREDIT + port * 8);\n-\tPMD_DRV_LOG(DEBUG, \"init_crd 0x%x  crd 0x%x\", init_crd, crd);\n+\tPMD_DRV_LOG(DEBUG, sc, \"init_crd 0x%x  crd 0x%x\", init_crd, crd);\n \n \twhile ((init_crd != crd) && count) {\n \t\tDELAY(1000 * 5);\n@@ -2254,7 +2255,7 @@ static elink_status_t elink_pbf_update(struct elink_params *params,\n \t}\n \tcrd = REG_RD(sc, PBF_REG_P0_CREDIT + port * 8);\n \tif (init_crd != crd) {\n-\t\tPMD_DRV_LOG(DEBUG, \"BUG! init_crd 0x%x != crd 0x%x\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"BUG! init_crd 0x%x != crd 0x%x\",\n \t\t\t    init_crd, crd);\n \t\treturn ELINK_STATUS_ERROR;\n \t}\n@@ -2281,13 +2282,13 @@ static elink_status_t elink_pbf_update(struct elink_params *params,\n \t\t\tinit_crd = thresh + 553 - 22;\n \t\t\tbreak;\n \t\tdefault:\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Invalid line_speed 0x%x\",\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Invalid line_speed 0x%x\",\n \t\t\t\t    line_speed);\n \t\t\treturn ELINK_STATUS_ERROR;\n \t\t}\n \t}\n \tREG_WR(sc, PBF_REG_P0_INIT_CRD + port * 4, init_crd);\n-\tPMD_DRV_LOG(DEBUG, \"PBF updated to speed %d credit %d\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"PBF updated to speed %d credit %d\",\n \t\t    line_speed, init_crd);\n \n \t/* Probe the credit changes */\n@@ -2377,7 +2378,7 @@ static elink_status_t elink_cl22_write(struct bnx2x_softc *sc,\n \t\t}\n \t}\n \tif (tmp & EMAC_MDIO_COMM_START_BUSY) {\n-\t\tPMD_DRV_LOG(DEBUG, \"write phy register failed\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"write phy register failed\");\n \t\trc = ELINK_STATUS_TIMEOUT;\n \t}\n \tREG_WR(sc, phy->mdio_ctrl + EMAC_REG_EMAC_MDIO_MODE, mode);\n@@ -2413,7 +2414,7 @@ static elink_status_t elink_cl22_read(struct bnx2x_softc *sc,\n \t\t}\n \t}\n \tif (val & EMAC_MDIO_COMM_START_BUSY) {\n-\t\tPMD_DRV_LOG(DEBUG, \"read phy register failed\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"read phy register failed\");\n \n \t\t*ret_val = 0;\n \t\trc = ELINK_STATUS_TIMEOUT;\n@@ -2454,7 +2455,7 @@ static elink_status_t elink_cl45_read(struct bnx2x_softc *sc,\n \t\t}\n \t}\n \tif (val & EMAC_MDIO_COMM_START_BUSY) {\n-\t\tPMD_DRV_LOG(DEBUG, \"read phy register failed\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"read phy register failed\");\n \t\telink_cb_event_log(sc, ELINK_LOG_ID_MDIO_ACCESS_TIMEOUT);\t// \"MDC/MDIO access timeout\"\n \n \t\t*ret_val = 0;\n@@ -2478,7 +2479,7 @@ static elink_status_t elink_cl45_read(struct bnx2x_softc *sc,\n \t\t\t}\n \t\t}\n \t\tif (val & EMAC_MDIO_COMM_START_BUSY) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"read phy register failed\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"read phy register failed\");\n \t\t\telink_cb_event_log(sc, ELINK_LOG_ID_MDIO_ACCESS_TIMEOUT);\t// \"MDC/MDIO access timeout\"\n \n \t\t\t*ret_val = 0;\n@@ -2530,7 +2531,7 @@ static elink_status_t elink_cl45_write(struct bnx2x_softc *sc,\n \t\t}\n \t}\n \tif (tmp & EMAC_MDIO_COMM_START_BUSY) {\n-\t\tPMD_DRV_LOG(DEBUG, \"write phy register failed\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"write phy register failed\");\n \t\telink_cb_event_log(sc, ELINK_LOG_ID_MDIO_ACCESS_TIMEOUT);\t// \"MDC/MDIO access timeout\"\n \n \t\trc = ELINK_STATUS_TIMEOUT;\n@@ -2552,7 +2553,7 @@ static elink_status_t elink_cl45_write(struct bnx2x_softc *sc,\n \t\t\t}\n \t\t}\n \t\tif (tmp & EMAC_MDIO_COMM_START_BUSY) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"write phy register failed\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"write phy register failed\");\n \t\t\telink_cb_event_log(sc, ELINK_LOG_ID_MDIO_ACCESS_TIMEOUT);\t// \"MDC/MDIO access timeout\"\n \n \t\t\trc = ELINK_STATUS_TIMEOUT;\n@@ -2675,7 +2676,7 @@ static elink_status_t elink_eee_set_timers(struct elink_params *params,\n \t} else if ((params->eee_mode & ELINK_EEE_MODE_ENABLE_LPI) &&\n \t\t   (params->eee_mode & ELINK_EEE_MODE_OVERRIDE_NVRAM) &&\n \t\t   (params->eee_mode & ELINK_EEE_MODE_OUTPUT_TIME)) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Error: Tx LPI is enabled with timer 0\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Error: Tx LPI is enabled with timer 0\");\n \t\treturn ELINK_STATUS_ERROR;\n \t}\n \n@@ -2742,11 +2743,11 @@ static elink_status_t elink_eee_advertise(struct elink_phy *phy,\n \tREG_WR(sc, MISC_REG_CPMU_LP_MASK_EXT_P0 + (params->port << 2), 0xfc20);\n \n \tif (modes & SHMEM_EEE_10G_ADV) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Advertise 10GBase-T EEE\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Advertise 10GBase-T EEE\");\n \t\tval |= 0x8;\n \t}\n \tif (modes & SHMEM_EEE_1G_ADV) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Advertise 1GBase-T EEE\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Advertise 1GBase-T EEE\");\n \t\tval |= 0x4;\n \t}\n \n@@ -2786,7 +2787,7 @@ static void elink_eee_an_resolve(struct elink_phy *phy,\n \t\tif (adv & 0x2) {\n \t\t\tif (vars->line_speed == ELINK_SPEED_100)\n \t\t\t\tneg = 1;\n-\t\t\tPMD_DRV_LOG(DEBUG, \"EEE negotiated - 100M\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"EEE negotiated - 100M\");\n \t\t}\n \t}\n \tif (lp & 0x14) {\n@@ -2794,7 +2795,7 @@ static void elink_eee_an_resolve(struct elink_phy *phy,\n \t\tif (adv & 0x14) {\n \t\t\tif (vars->line_speed == ELINK_SPEED_1000)\n \t\t\t\tneg = 1;\n-\t\t\tPMD_DRV_LOG(DEBUG, \"EEE negotiated - 1G\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"EEE negotiated - 1G\");\n \t\t}\n \t}\n \tif (lp & 0x68) {\n@@ -2802,7 +2803,7 @@ static void elink_eee_an_resolve(struct elink_phy *phy,\n \t\tif (adv & 0x68) {\n \t\t\tif (vars->line_speed == ELINK_SPEED_10000)\n \t\t\t\tneg = 1;\n-\t\t\tPMD_DRV_LOG(DEBUG, \"EEE negotiated - 10G\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"EEE negotiated - 10G\");\n \t\t}\n \t}\n \n@@ -2810,7 +2811,7 @@ static void elink_eee_an_resolve(struct elink_phy *phy,\n \tvars->eee_status |= (lp_adv << SHMEM_EEE_LP_ADV_STATUS_SHIFT);\n \n \tif (neg) {\n-\t\tPMD_DRV_LOG(DEBUG, \"EEE is active\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"EEE is active\");\n \t\tvars->eee_status |= SHMEM_EEE_ACTIVE_BIT;\n \t}\n }\n@@ -2840,7 +2841,7 @@ static void elink_bsc_module_sel(struct elink_params *params)\n \t\t\t\t   e3_cmn_pin_cfg));\n \ti2c_val[I2C_BSC0] = (sfp_ctrl & PORT_HW_CFG_E3_I2C_MUX0_MASK) > 0;\n \ti2c_val[I2C_BSC1] = (sfp_ctrl & PORT_HW_CFG_E3_I2C_MUX1_MASK) > 0;\n-\tPMD_DRV_LOG(DEBUG, \"Setting BSC switch\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Setting BSC switch\");\n \tfor (idx = 0; idx < I2C_SWITCH_WIDTH; idx++)\n \t\telink_set_cfg_pin(sc, i2c_pins[idx], i2c_val[idx]);\n }\n@@ -2856,7 +2857,7 @@ static elink_status_t elink_bsc_read(struct elink_params *params,\n \telink_status_t rc = ELINK_STATUS_OK;\n \n \tif (xfer_cnt > 16) {\n-\t\tPMD_DRV_LOG(DEBUG, \"invalid xfer_cnt %d. Max is 16 bytes\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"invalid xfer_cnt %d. Max is 16 bytes\",\n \t\t\t    xfer_cnt);\n \t\treturn ELINK_STATUS_ERROR;\n \t}\n@@ -2888,7 +2889,7 @@ static elink_status_t elink_bsc_read(struct elink_params *params,\n \t\tDELAY(10);\n \t\tval = REG_RD(sc, MCP_REG_MCPR_IMC_COMMAND);\n \t\tif (i++ > 1000) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"wr 0 byte timed out after %d try\",\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"wr 0 byte timed out after %d try\",\n \t\t\t\t    i);\n \t\t\trc = ELINK_STATUS_TIMEOUT;\n \t\t\tbreak;\n@@ -2912,7 +2913,8 @@ static elink_status_t elink_bsc_read(struct elink_params *params,\n \t\tDELAY(10);\n \t\tval = REG_RD(sc, MCP_REG_MCPR_IMC_COMMAND);\n \t\tif (i++ > 1000) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"rd op timed out after %d try\", i);\n+\t\t\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t\t\t    \"rd op timed out after %d try\", i);\n \t\t\trc = ELINK_STATUS_TIMEOUT;\n \t\t\tbreak;\n \t\t}\n@@ -3057,7 +3059,7 @@ static void elink_serdes_deassert(struct bnx2x_softc *sc, uint8_t port)\n {\n \tuint32_t val;\n \n-\tPMD_DRV_LOG(DEBUG, \"elink_serdes_deassert\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"elink_serdes_deassert\");\n \n \tval = ELINK_SERDES_RESET_BITS << (port * 16);\n \n@@ -3092,7 +3094,7 @@ static void elink_xgxs_deassert(struct elink_params *params)\n \tstruct bnx2x_softc *sc = params->sc;\n \tuint8_t port;\n \tuint32_t val;\n-\tPMD_DRV_LOG(DEBUG, \"elink_xgxs_deassert\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"elink_xgxs_deassert\");\n \tport = params->port;\n \n \tval = ELINK_XGXS_RESET_BITS << (port * 16);\n@@ -3143,7 +3145,7 @@ static void elink_calc_ieee_aneg_adv(struct elink_phy *phy,\n \t\t*ieee_fc |= MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_NONE;\n \t\tbreak;\n \t}\n-\tPMD_DRV_LOG(DEBUG, \"ieee_fc = 0x%x\", *ieee_fc);\n+\tPMD_DRV_LOG(DEBUG, params->sc, \"ieee_fc = 0x%x\", *ieee_fc);\n }\n \n static void set_phy_vars(struct elink_params *params, struct elink_vars *vars)\n@@ -3177,7 +3179,7 @@ static void set_phy_vars(struct elink_params *params, struct elink_vars *vars)\n \t\t    ELINK_SPEED_AUTO_NEG)\n \t\t\tvars->link_status |= LINK_STATUS_AUTO_NEGOTIATE_ENABLED;\n \n-\t\tPMD_DRV_LOG(DEBUG, \"req_flow_ctrl %x, req_line_speed %x,\"\n+\t\tPMD_DRV_LOG(DEBUG, params->sc, \"req_flow_ctrl %x, req_line_speed %x,\"\n \t\t\t    \" speed_cap_mask %x\",\n \t\t\t    params->phy[actual_phy_idx].req_flow_ctrl,\n \t\t\t    params->phy[actual_phy_idx].req_line_speed,\n@@ -3208,7 +3210,7 @@ static void elink_ext_phy_set_pause(struct elink_params *params,\n \t    MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_BOTH) {\n \t\tval |= MDIO_AN_REG_ADV_PAUSE_PAUSE;\n \t}\n-\tPMD_DRV_LOG(DEBUG, \"Ext phy AN advertize 0x%x\", val);\n+\tPMD_DRV_LOG(DEBUG, sc, \"Ext phy AN advertize 0x%x\", val);\n \telink_cl45_write(sc, phy, MDIO_AN_DEVAD, MDIO_AN_REG_ADV_PAUSE, val);\n }\n \n@@ -3287,7 +3289,7 @@ static void elink_ext_phy_update_adv_fc(struct elink_phy *phy,\n \t}\n \tpause_result = (ld_pause & MDIO_AN_REG_ADV_PAUSE_MASK) >> 8;\n \tpause_result |= (lp_pause & MDIO_AN_REG_ADV_PAUSE_MASK) >> 10;\n-\tPMD_DRV_LOG(DEBUG, \"Ext PHY pause result 0x%x\", pause_result);\n+\tPMD_DRV_LOG(DEBUG, sc, \"Ext PHY pause result 0x%x\", pause_result);\n \telink_pause_resolve(vars, pause_result);\n \n }\n@@ -3356,7 +3358,7 @@ static void elink_warpcore_enable_AN_KR2(struct elink_phy *phy,\n \t\t{MDIO_WC_DEVAD, MDIO_WC_REG_ETA_CL73_LD_BAM_CODE, 0x0157},\n \t\t{MDIO_WC_DEVAD, MDIO_WC_REG_ETA_CL73_LD_UD_CODE, 0x0620}\n \t};\n-\tPMD_DRV_LOG(DEBUG, \"Enabling 20G-KR2\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Enabling 20G-KR2\");\n \n \telink_cl45_read_or_write(sc, phy, MDIO_WC_DEVAD,\n \t\t\t\t MDIO_WC_REG_CL49_USERB0_CTRL, (3 << 6));\n@@ -3393,7 +3395,7 @@ static void elink_disable_kr2(struct elink_params *params,\n \t\t{MDIO_WC_DEVAD, MDIO_WC_REG_ETA_CL73_LD_BAM_CODE, 0x0002},\n \t\t{MDIO_WC_DEVAD, MDIO_WC_REG_ETA_CL73_LD_UD_CODE, 0x0000}\n \t};\n-\tPMD_DRV_LOG(DEBUG, \"Disabling 20G-KR2\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Disabling 20G-KR2\");\n \n \tfor (i = 0; i < ARRAY_SIZE(reg_set); i++)\n \t\telink_cl45_write(sc, phy, reg_set[i].devad, reg_set[i].reg,\n@@ -3409,7 +3411,7 @@ static void elink_warpcore_set_lpi_passthrough(struct elink_phy *phy,\n {\n \tstruct bnx2x_softc *sc = params->sc;\n \n-\tPMD_DRV_LOG(DEBUG, \"Configure WC for LPI pass through\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Configure WC for LPI pass through\");\n \telink_cl45_write(sc, phy, MDIO_WC_DEVAD,\n \t\t\t MDIO_WC_REG_EEE_COMBO_CONTROL0, 0x7c);\n \telink_cl45_read_or_write(sc, phy, MDIO_WC_DEVAD,\n@@ -3447,7 +3449,7 @@ static void elink_warpcore_enable_AN_KR(struct elink_phy *phy,\n \t\t{MDIO_PMA_DEVAD, MDIO_WC_REG_PMD_KR_CONTROL, 0x2},\n \t\t{MDIO_WC_DEVAD, MDIO_WC_REG_CL72_USERB0_CL72_TX_FIR_TAP, 0},\n \t};\n-\tPMD_DRV_LOG(DEBUG, \"Enable Auto Negotiation for KR\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Enable Auto Negotiation for KR\");\n \t/* Set to default registers that may be overridden by 10G force */\n \tfor (i = 0; i < ARRAY_SIZE(reg_set); i++)\n \t\telink_cl45_write(sc, phy, reg_set[i].devad, reg_set[i].reg,\n@@ -3469,7 +3471,7 @@ static void elink_warpcore_enable_AN_KR(struct elink_phy *phy,\n \n \t\t/* Enable CL37 1G Parallel Detect */\n \t\telink_cl45_read_or_write(sc, phy, MDIO_WC_DEVAD, addr, 0x1);\n-\t\tPMD_DRV_LOG(DEBUG, \"Advertize 1G\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Advertize 1G\");\n \t}\n \tif (((vars->line_speed == ELINK_SPEED_AUTO_NEG) &&\n \t     (phy->speed_cap_mask & PORT_HW_CFG_SPEED_CAPABILITY_D0_10G)) ||\n@@ -3483,7 +3485,7 @@ static void elink_warpcore_enable_AN_KR(struct elink_phy *phy,\n \t\telink_cl45_write(sc, phy, MDIO_AN_DEVAD,\n \t\t\t\t MDIO_WC_REG_PAR_DET_10G_CTRL, 1);\n \t\telink_set_aer_mmd(params, phy);\n-\t\tPMD_DRV_LOG(DEBUG, \"Advertize 10G\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Advertize 10G\");\n \t}\n \n \t/* Set Transmit PMD settings */\n@@ -3520,7 +3522,7 @@ static void elink_warpcore_enable_AN_KR(struct elink_phy *phy,\n \t\telink_cl45_read_or_write(sc, phy, MDIO_WC_DEVAD,\n \t\t\t\t\t MDIO_WC_REG_DIGITAL6_MP5_NEXTPAGECTRL,\n \t\t\t\t\t 1);\n-\t\tPMD_DRV_LOG(DEBUG, \"Enable CL37 BAM on KR\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Enable CL37 BAM on KR\");\n \t}\n \n \t/* Advertise pause */\n@@ -3857,7 +3859,7 @@ static void elink_warpcore_set_sgmii_speed(struct elink_phy *phy,\n \t\telink_cl45_read_or_write(sc, phy, MDIO_WC_DEVAD,\n \t\t\t\t\t MDIO_WC_REG_COMBO_IEEE0_MIICTRL,\n \t\t\t\t\t 0x1000);\n-\t\tPMD_DRV_LOG(DEBUG, \"set SGMII AUTONEG\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"set SGMII AUTONEG\");\n \t} else {\n \t\telink_cl45_read(sc, phy, MDIO_WC_DEVAD,\n \t\t\t\tMDIO_WC_REG_COMBO_IEEE0_MIICTRL, &val16);\n@@ -3872,7 +3874,7 @@ static void elink_warpcore_set_sgmii_speed(struct elink_phy *phy,\n \t\t\tval16 |= 0x0040;\n \t\t\tbreak;\n \t\tdefault:\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t    \"Speed not supported: 0x%x\",\n \t\t\t\t    phy->req_line_speed);\n \t\t\treturn;\n@@ -3884,11 +3886,11 @@ static void elink_warpcore_set_sgmii_speed(struct elink_phy *phy,\n \t\telink_cl45_write(sc, phy, MDIO_WC_DEVAD,\n \t\t\t\t MDIO_WC_REG_COMBO_IEEE0_MIICTRL, val16);\n \n-\t\tPMD_DRV_LOG(DEBUG, \"set SGMII force speed %d\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"set SGMII force speed %d\",\n \t\t\t    phy->req_line_speed);\n \t\telink_cl45_read(sc, phy, MDIO_WC_DEVAD,\n \t\t\t\tMDIO_WC_REG_COMBO_IEEE0_MIICTRL, &val16);\n-\t\tPMD_DRV_LOG(DEBUG, \"  (readback) %x\", val16);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"  (readback) %x\", val16);\n \t}\n \n \t/* SGMII Slave mode and disable signal detect */\n@@ -3999,7 +4001,7 @@ static elink_status_t elink_get_mod_abs_int_cfg(struct bnx2x_softc *sc,\n \t\t */\n \t\tif ((cfg_pin < PIN_CFG_GPIO0_P0) ||\n \t\t    (cfg_pin > PIN_CFG_GPIO3_P1)) {\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t    \"No cfg pin %x for module detect indication\",\n \t\t\t\t    cfg_pin);\n \t\t\treturn ELINK_STATUS_ERROR;\n@@ -4091,7 +4093,7 @@ static void elink_warpcore_config_runtime(struct elink_phy *phy,\n \t\t\t\t\t\t 0x1200);\n \n \t\t\t\tvars->rx_tx_asic_rst--;\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"0x%x retry left\",\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"0x%x retry left\",\n \t\t\t\t\t    vars->rx_tx_asic_rst);\n \t\t\t}\n \t\t\tbreak;\n@@ -4113,10 +4115,10 @@ static void elink_warpcore_config_sfi(struct elink_phy *phy,\n \tif ((params->req_line_speed[ELINK_LINK_CONFIG_IDX(ELINK_INT_PHY)] ==\n \t     ELINK_SPEED_10000) &&\n \t    (phy->media_type != ELINK_ETH_PHY_SFP_1G_FIBER)) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Setting 10G SFI\");\n+\t\tPMD_DRV_LOG(DEBUG, params->sc, \"Setting 10G SFI\");\n \t\telink_warpcore_set_10G_XFI(phy, params, 0);\n \t} else {\n-\t\tPMD_DRV_LOG(DEBUG, \"Setting 1G Fiber\");\n+\t\tPMD_DRV_LOG(DEBUG, params->sc, \"Setting 1G Fiber\");\n \t\telink_warpcore_set_sgmii_speed(phy, params, 1, 0);\n \t}\n }\n@@ -4133,7 +4135,7 @@ static void elink_sfp_e3_set_transmitter(struct elink_params *params,\n \t\t\t\t  dev_info.port_hw_config[port].e3_sfp_ctrl)) &\n \t    PORT_HW_CFG_E3_TX_LASER_MASK;\n \t/* Set the !tx_en since this pin is DISABLE_TX_LASER */\n-\tPMD_DRV_LOG(DEBUG, \"Setting WC TX to %d\", tx_en);\n+\tPMD_DRV_LOG(DEBUG, sc, \"Setting WC TX to %d\", tx_en);\n \n \t/* For 20G, the expected pin to be used is 3 pins after the current */\n \telink_set_cfg_pin(sc, cfg_pin, tx_en ^ 1);\n@@ -4154,7 +4156,7 @@ static uint8_t elink_warpcore_config_init(struct elink_phy *phy,\n \t\t\t\t\t dev_info.port_hw_config[params->port].\n \t\t\t\t\t default_cfg)) &\n \t\t\t PORT_HW_CFG_NET_SERDES_IF_MASK);\n-\tPMD_DRV_LOG(DEBUG,\n+\tPMD_DRV_LOG(DEBUG, sc,\n \t\t    \"Begin Warpcore init, link_speed %d, \"\n \t\t    \"serdes_net_if = 0x%x\", vars->line_speed, serdes_net_if);\n \telink_set_aer_mmd(params, phy);\n@@ -4165,7 +4167,7 @@ static uint8_t elink_warpcore_config_init(struct elink_phy *phy,\n \t     ((phy->req_line_speed == ELINK_SPEED_100) ||\n \t      (phy->req_line_speed == ELINK_SPEED_10)))) {\n \t\tvars->phy_flags |= PHY_SGMII_FLAG;\n-\t\tPMD_DRV_LOG(DEBUG, \"Setting SGMII mode\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Setting SGMII mode\");\n \t\telink_warpcore_clear_regs(phy, params, lane);\n \t\telink_warpcore_set_sgmii_speed(phy, params, 0, 1);\n \t} else {\n@@ -4175,7 +4177,7 @@ static uint8_t elink_warpcore_config_init(struct elink_phy *phy,\n \t\t\tif (params->loopback_mode != ELINK_LOOPBACK_EXT)\n \t\t\t\telink_warpcore_enable_AN_KR(phy, params, vars);\n \t\t\telse {\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"Setting KR 10G-Force\");\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Setting KR 10G-Force\");\n \t\t\t\telink_warpcore_set_10G_KR(phy, params);\n \t\t\t}\n \t\t\tbreak;\n@@ -4183,14 +4185,14 @@ static uint8_t elink_warpcore_config_init(struct elink_phy *phy,\n \t\tcase PORT_HW_CFG_NET_SERDES_IF_XFI:\n \t\t\telink_warpcore_clear_regs(phy, params, lane);\n \t\t\tif (vars->line_speed == ELINK_SPEED_10000) {\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"Setting 10G XFI\");\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Setting 10G XFI\");\n \t\t\t\telink_warpcore_set_10G_XFI(phy, params, 1);\n \t\t\t} else {\n \t\t\t\tif (ELINK_SINGLE_MEDIA_DIRECT(params)) {\n-\t\t\t\t\tPMD_DRV_LOG(DEBUG, \"1G Fiber\");\n+\t\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"1G Fiber\");\n \t\t\t\t\tfiber_mode = 1;\n \t\t\t\t} else {\n-\t\t\t\t\tPMD_DRV_LOG(DEBUG, \"10/100/1G SGMII\");\n+\t\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"10/100/1G SGMII\");\n \t\t\t\t\tfiber_mode = 0;\n \t\t\t\t}\n \t\t\t\telink_warpcore_set_sgmii_speed(phy,\n@@ -4219,10 +4221,10 @@ static uint8_t elink_warpcore_config_init(struct elink_phy *phy,\n \n \t\tcase PORT_HW_CFG_NET_SERDES_IF_DXGXS:\n \t\t\tif (vars->line_speed != ELINK_SPEED_20000) {\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"Speed not supported yet\");\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Speed not supported yet\");\n \t\t\t\treturn 0;\n \t\t\t}\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Setting 20G DXGXS\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Setting 20G DXGXS\");\n \t\t\telink_warpcore_set_20G_DXGXS(sc, phy, lane);\n \t\t\t/* Issue Module detection */\n \n@@ -4232,12 +4234,12 @@ static uint8_t elink_warpcore_config_init(struct elink_phy *phy,\n \t\t\tif (!params->loopback_mode) {\n \t\t\t\telink_warpcore_enable_AN_KR(phy, params, vars);\n \t\t\t} else {\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"Setting KR 20G-Force\");\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Setting KR 20G-Force\");\n \t\t\t\telink_warpcore_set_20G_force_KR2(phy, params);\n \t\t\t}\n \t\t\tbreak;\n \t\tdefault:\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t    \"Unsupported Serdes Net Interface 0x%x\",\n \t\t\t\t    serdes_net_if);\n \t\t\treturn 0;\n@@ -4246,7 +4248,7 @@ static uint8_t elink_warpcore_config_init(struct elink_phy *phy,\n \n \t/* Take lane out of reset after configuration is finished */\n \telink_warpcore_reset_lane(sc, phy, 0);\n-\tPMD_DRV_LOG(DEBUG, \"Exit config init\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Exit config init\");\n \n \treturn 0;\n }\n@@ -4311,7 +4313,7 @@ static void elink_set_warpcore_loopback(struct elink_phy *phy,\n \tstruct bnx2x_softc *sc = params->sc;\n \tuint16_t val16;\n \tuint32_t lane;\n-\tPMD_DRV_LOG(DEBUG, \"Setting Warpcore loopback type %x, speed %d\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"Setting Warpcore loopback type %x, speed %d\",\n \t\t    params->loopback_mode, phy->req_line_speed);\n \n \tif (phy->req_line_speed < ELINK_SPEED_10000 ||\n@@ -4356,7 +4358,7 @@ static void elink_sync_link(struct elink_params *params,\n \t\tvars->phy_flags |= PHY_PHYSICAL_LINK_FLAG;\n \tvars->link_up = (vars->link_status & LINK_STATUS_LINK_UP);\n \tif (vars->link_up) {\n-\t\tPMD_DRV_LOG(DEBUG, \"phy link up\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"phy link up\");\n \n \t\tvars->phy_link_up = 1;\n \t\tvars->duplex = DUPLEX_FULL;\n@@ -4434,7 +4436,7 @@ static void elink_sync_link(struct elink_params *params,\n \t\t\t\tvars->mac_type = ELINK_MAC_TYPE_EMAC;\n \t\t}\n \t} else {\t\t/* Link down */\n-\t\tPMD_DRV_LOG(DEBUG, \"phy link down\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"phy link down\");\n \n \t\tvars->phy_link_up = 0;\n \n@@ -4491,7 +4493,7 @@ void elink_link_status_update(struct elink_params *params,\n \tparams->phy[ELINK_EXT_PHY2].media_type =\n \t    (media_types & PORT_HW_CFG_MEDIA_TYPE_PHY2_MASK) >>\n \t    PORT_HW_CFG_MEDIA_TYPE_PHY2_SHIFT;\n-\tPMD_DRV_LOG(DEBUG, \"media_types = 0x%x\", media_types);\n+\tPMD_DRV_LOG(DEBUG, sc, \"media_types = 0x%x\", media_types);\n \n \t/* Sync AEU offset */\n \tsync_offset = params->shmem_base +\n@@ -4512,9 +4514,9 @@ void elink_link_status_update(struct elink_params *params,\n \t\tvars->link_attr_sync = SHMEM2_RD(sc,\n \t\t\t\t\t\t link_attr_sync[params->port]);\n \n-\tPMD_DRV_LOG(DEBUG, \"link_status 0x%x  phy_link_up %x int_mask 0x%x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"link_status 0x%x  phy_link_up %x int_mask 0x%x\",\n \t\t    vars->link_status, vars->phy_link_up, vars->aeu_int_mask);\n-\tPMD_DRV_LOG(DEBUG, \"line_speed %x  duplex %x  flow_ctrl 0x%x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"line_speed %x  duplex %x  flow_ctrl 0x%x\",\n \t\t    vars->line_speed, vars->duplex, vars->flow_ctrl);\n }\n \n@@ -4575,7 +4577,7 @@ static elink_status_t elink_reset_unicore(struct elink_params *params,\n \telink_cb_event_log(sc, ELINK_LOG_ID_PHY_UNINITIALIZED, params->port);\t// \"Warning: PHY was not initialized,\"\n \t// \" Port %d\",\n \n-\tPMD_DRV_LOG(DEBUG, \"BUG! XGXS is still in reset!\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"BUG! XGXS is still in reset!\");\n \treturn ELINK_STATUS_ERROR;\n \n }\n@@ -4634,7 +4636,7 @@ static void elink_set_parallel_detection(struct elink_phy *phy,\n \t\tcontrol2 |= MDIO_SERDES_DIGITAL_A_1000X_CONTROL2_PRL_DT_EN;\n \telse\n \t\tcontrol2 &= ~MDIO_SERDES_DIGITAL_A_1000X_CONTROL2_PRL_DT_EN;\n-\tPMD_DRV_LOG(DEBUG, \"phy->speed_cap_mask = 0x%x, control2 = 0x%x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"phy->speed_cap_mask = 0x%x, control2 = 0x%x\",\n \t\t    phy->speed_cap_mask, control2);\n \tCL22_WR_OVER_CL45(sc, phy,\n \t\t\t  MDIO_REG_BANK_SERDES_DIGITAL,\n@@ -4642,7 +4644,7 @@ static void elink_set_parallel_detection(struct elink_phy *phy,\n \n \tif ((phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_DIRECT) &&\n \t    (phy->speed_cap_mask & PORT_HW_CFG_SPEED_CAPABILITY_D0_10G)) {\n-\t\tPMD_DRV_LOG(DEBUG, \"XGXS\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"XGXS\");\n \n \t\tCL22_WR_OVER_CL45(sc, phy,\n \t\t\t\t  MDIO_REG_BANK_10G_PARALLEL_DETECT,\n@@ -4795,7 +4797,7 @@ static void elink_program_serdes(struct elink_phy *phy,\n \t\t\t  MDIO_REG_BANK_SERDES_DIGITAL,\n \t\t\t  MDIO_SERDES_DIGITAL_MISC1, &reg_val);\n \t/* Clearing the speed value before setting the right speed */\n-\tPMD_DRV_LOG(DEBUG, \"MDIO_REG_BANK_SERDES_DIGITAL = 0x%x\", reg_val);\n+\tPMD_DRV_LOG(DEBUG, sc, \"MDIO_REG_BANK_SERDES_DIGITAL = 0x%x\", reg_val);\n \n \treg_val &= ~(MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_MASK |\n \t\t     MDIO_SERDES_DIGITAL_MISC1_FORCE_SPEED_SEL);\n@@ -4863,7 +4865,7 @@ static void elink_restart_autoneg(struct elink_phy *phy,\n \tstruct bnx2x_softc *sc = params->sc;\n \tuint16_t mii_control;\n \n-\tPMD_DRV_LOG(DEBUG, \"elink_restart_autoneg\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"elink_restart_autoneg\");\n \t/* Enable and restart BAM/CL37 aneg */\n \n \tif (enable_cl73) {\n@@ -4883,7 +4885,7 @@ static void elink_restart_autoneg(struct elink_phy *phy,\n \t\tCL22_RD_OVER_CL45(sc, phy,\n \t\t\t\t  MDIO_REG_BANK_COMBO_IEEE0,\n \t\t\t\t  MDIO_COMBO_IEEE0_MII_CONTROL, &mii_control);\n-\t\tPMD_DRV_LOG(DEBUG,\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t    \"elink_restart_autoneg mii_control before = 0x%x\",\n \t\t\t    mii_control);\n \t\tCL22_WR_OVER_CL45(sc, phy,\n@@ -4942,7 +4944,7 @@ static void elink_initialize_sgmii_process(struct elink_phy *phy,\n \t\t\tbreak;\n \t\tdefault:\n \t\t\t/* Invalid speed for SGMII */\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Invalid line_speed 0x%x\",\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Invalid line_speed 0x%x\",\n \t\t\t\t    vars->line_speed);\n \t\t\tbreak;\n \t\t}\n@@ -4977,7 +4979,7 @@ static elink_status_t elink_direct_parallel_detect_used(struct elink_phy *phy,\n \t\t\t  MDIO_REG_BANK_SERDES_DIGITAL,\n \t\t\t  MDIO_SERDES_DIGITAL_A_1000X_STATUS2, &status2_1000x);\n \tif (status2_1000x & MDIO_SERDES_DIGITAL_A_1000X_STATUS2_AN_DISABLED) {\n-\t\tPMD_DRV_LOG(DEBUG, \"1G parallel detect link on port %d\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"1G parallel detect link on port %d\",\n \t\t\t    params->port);\n \t\treturn ELINK_STATUS_ERROR;\n \t}\n@@ -4987,7 +4989,7 @@ static elink_status_t elink_direct_parallel_detect_used(struct elink_phy *phy,\n \t\t\t  MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_STATUS, &pd_10g);\n \n \tif (pd_10g & MDIO_10G_PARALLEL_DETECT_PAR_DET_10G_STATUS_PD_LINK) {\n-\t\tPMD_DRV_LOG(DEBUG, \"10G parallel detect link on port %d\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"10G parallel detect link on port %d\",\n \t\t\t    params->port);\n \t\treturn ELINK_STATUS_ERROR;\n \t}\n@@ -5018,7 +5020,7 @@ static void elink_update_adv_fc(struct elink_phy *phy,\n \t\t\t\tMDIO_CL73_IEEEB1_AN_ADV1_PAUSE_MASK) >> 8;\n \t\tpause_result |= (lp_pause &\n \t\t\t\t MDIO_CL73_IEEEB1_AN_LP_ADV1_PAUSE_MASK) >> 10;\n-\t\tPMD_DRV_LOG(DEBUG, \"pause_result CL73 0x%x\", pause_result);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"pause_result CL73 0x%x\", pause_result);\n \t} else {\n \t\tCL22_RD_OVER_CL45(sc, phy,\n \t\t\t\t  MDIO_REG_BANK_COMBO_IEEE0,\n@@ -5031,7 +5033,7 @@ static void elink_update_adv_fc(struct elink_phy *phy,\n \t\t\t\tMDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_MASK) >> 5;\n \t\tpause_result |= (lp_pause &\n \t\t\t\t MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_MASK) >> 7;\n-\t\tPMD_DRV_LOG(DEBUG, \"pause_result CL37 0x%x\", pause_result);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"pause_result CL37 0x%x\", pause_result);\n \t}\n \telink_pause_resolve(vars, pause_result);\n \n@@ -5060,7 +5062,7 @@ static void elink_flow_ctrl_resolve(struct elink_phy *phy,\n \t\t}\n \t\telink_update_adv_fc(phy, params, vars, gp_status);\n \t}\n-\tPMD_DRV_LOG(DEBUG, \"flow_ctrl 0x%x\", vars->flow_ctrl);\n+\tPMD_DRV_LOG(DEBUG, params->sc, \"flow_ctrl 0x%x\", vars->flow_ctrl);\n }\n \n static void elink_check_fallback_to_cl37(struct elink_phy *phy,\n@@ -5068,13 +5070,13 @@ static void elink_check_fallback_to_cl37(struct elink_phy *phy,\n {\n \tstruct bnx2x_softc *sc = params->sc;\n \tuint16_t rx_status, ustat_val, cl37_fsm_received;\n-\tPMD_DRV_LOG(DEBUG, \"elink_check_fallback_to_cl37\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"elink_check_fallback_to_cl37\");\n \t/* Step 1: Make sure signal is detected */\n \tCL22_RD_OVER_CL45(sc, phy,\n \t\t\t  MDIO_REG_BANK_RX0, MDIO_RX0_RX_STATUS, &rx_status);\n \tif ((rx_status & MDIO_RX0_RX_STATUS_SIGDET) !=\n \t    (MDIO_RX0_RX_STATUS_SIGDET)) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Signal is not detected. Restoring CL73.\"\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Signal is not detected. Restoring CL73.\"\n \t\t\t    \"rx_status(0x80b0) = 0x%x\", rx_status);\n \t\tCL22_WR_OVER_CL45(sc, phy,\n \t\t\t\t  MDIO_REG_BANK_CL73_IEEEB0,\n@@ -5091,7 +5093,7 @@ static void elink_check_fallback_to_cl37(struct elink_phy *phy,\n \t      MDIO_CL73_USERB0_CL73_USTAT1_AN_GOOD_CHECK_BAM37)) !=\n \t    (MDIO_CL73_USERB0_CL73_USTAT1_LINK_STATUS_CHECK |\n \t     MDIO_CL73_USERB0_CL73_USTAT1_AN_GOOD_CHECK_BAM37)) {\n-\t\tPMD_DRV_LOG(DEBUG, \"CL73 state-machine is not stable. \"\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"CL73 state-machine is not stable. \"\n \t\t\t    \"ustat_val(0x8371) = 0x%x\", ustat_val);\n \t\treturn;\n \t}\n@@ -5106,7 +5108,7 @@ static void elink_check_fallback_to_cl37(struct elink_phy *phy,\n \t      MDIO_REMOTE_PHY_MISC_RX_STATUS_CL37_FSM_RECEIVED_BRCM_OUI_MSG)) !=\n \t    (MDIO_REMOTE_PHY_MISC_RX_STATUS_CL37_FSM_RECEIVED_OVER1G_MSG |\n \t     MDIO_REMOTE_PHY_MISC_RX_STATUS_CL37_FSM_RECEIVED_BRCM_OUI_MSG)) {\n-\t\tPMD_DRV_LOG(DEBUG, \"No CL37 FSM were received. \"\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"No CL37 FSM were received. \"\n \t\t\t    \"misc_rx_status(0x8330) = 0x%x\", cl37_fsm_received);\n \t\treturn;\n \t}\n@@ -5122,7 +5124,7 @@ static void elink_check_fallback_to_cl37(struct elink_phy *phy,\n \t\t\t  MDIO_CL73_IEEEB0_CL73_AN_CONTROL, 0);\n \t/* Restart CL37 autoneg */\n \telink_restart_autoneg(phy, params, 0);\n-\tPMD_DRV_LOG(DEBUG, \"Disabling CL73, and restarting CL37 autoneg\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Disabling CL73, and restarting CL37 autoneg\");\n }\n \n static void elink_xgxs_an_resolve(struct elink_phy *phy,\n@@ -5146,7 +5148,7 @@ static elink_status_t elink_get_link_speed_duplex(struct elink_phy *phy,\n \tif (phy->req_line_speed == ELINK_SPEED_AUTO_NEG)\n \t\tvars->link_status |= LINK_STATUS_AUTO_NEGOTIATE_ENABLED;\n \tif (is_link_up) {\n-\t\tPMD_DRV_LOG(DEBUG, \"phy link up\");\n+\t\tPMD_DRV_LOG(DEBUG, params->sc, \"phy link up\");\n \n \t\tvars->phy_link_up = 1;\n \t\tvars->link_status |= LINK_STATUS_LINK_UP;\n@@ -5187,7 +5189,7 @@ static elink_status_t elink_get_link_speed_duplex(struct elink_phy *phy,\n \n \t\tcase ELINK_GP_STATUS_5G:\n \t\tcase ELINK_GP_STATUS_6G:\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, params->sc,\n \t\t\t\t    \"link speed unsupported  gp_status 0x%x\",\n \t\t\t\t    speed_mask);\n \t\t\treturn ELINK_STATUS_ERROR;\n@@ -5207,13 +5209,13 @@ static elink_status_t elink_get_link_speed_duplex(struct elink_phy *phy,\n \t\t\tvars->link_status |= ELINK_LINK_20GTFD;\n \t\t\tbreak;\n \t\tdefault:\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, params->sc,\n \t\t\t\t    \"link speed unsupported gp_status 0x%x\",\n \t\t\t\t    speed_mask);\n \t\t\treturn ELINK_STATUS_ERROR;\n \t\t}\n \t} else {\t\t/* link_down */\n-\t\tPMD_DRV_LOG(DEBUG, \"phy link down\");\n+\t\tPMD_DRV_LOG(DEBUG, params->sc, \"phy link down\");\n \n \t\tvars->phy_link_up = 0;\n \n@@ -5221,7 +5223,7 @@ static elink_status_t elink_get_link_speed_duplex(struct elink_phy *phy,\n \t\tvars->flow_ctrl = ELINK_FLOW_CTRL_NONE;\n \t\tvars->mac_type = ELINK_MAC_TYPE_NONE;\n \t}\n-\tPMD_DRV_LOG(DEBUG, \" phy_link_up %x line_speed %d\",\n+\tPMD_DRV_LOG(DEBUG, params->sc, \" phy_link_up %x line_speed %d\",\n \t\t    vars->phy_link_up, vars->line_speed);\n \treturn ELINK_STATUS_OK;\n }\n@@ -5244,7 +5246,7 @@ static uint8_t elink_link_settings_status(struct elink_phy *phy,\n \tif (gp_status & MDIO_GP_STATUS_TOP_AN_STATUS1_LINK_STATUS)\n \t\tlink_up = 1;\n \tspeed_mask = gp_status & ELINK_GP_STATUS_SPEED_MASK;\n-\tPMD_DRV_LOG(DEBUG, \"gp_status 0x%x, is_link_up %d, speed_mask 0x%x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"gp_status 0x%x, is_link_up %d, speed_mask 0x%x\",\n \t\t    gp_status, link_up, speed_mask);\n \trc = elink_get_link_speed_duplex(phy, params, vars, link_up, speed_mask,\n \t\t\t\t\t duplex);\n@@ -5294,7 +5296,7 @@ static uint8_t elink_link_settings_status(struct elink_phy *phy,\n \t\t\t    LINK_STATUS_LINK_PARTNER_10GXFD_CAPABLE;\n \t}\n \n-\tPMD_DRV_LOG(DEBUG, \"duplex %x  flow_ctrl 0x%x link_status 0x%x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"duplex %x  flow_ctrl 0x%x link_status 0x%x\",\n \t\t    vars->duplex, vars->flow_ctrl, vars->link_status);\n \treturn rc;\n }\n@@ -5320,7 +5322,7 @@ static uint8_t elink_warpcore_read_status(struct elink_phy *phy,\n \t\tuint16_t temp_link_up;\n \t\telink_cl45_read(sc, phy, MDIO_WC_DEVAD, 1, &temp_link_up);\n \t\telink_cl45_read(sc, phy, MDIO_WC_DEVAD, 1, &link_up);\n-\t\tPMD_DRV_LOG(DEBUG, \"PCS RX link status = 0x%x-->0x%x\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"PCS RX link status = 0x%x-->0x%x\",\n \t\t\t    temp_link_up, link_up);\n \t\tlink_up &= (1 << 2);\n \t\tif (link_up)\n@@ -5328,7 +5330,7 @@ static uint8_t elink_warpcore_read_status(struct elink_phy *phy,\n \t} else {\n \t\telink_cl45_read(sc, phy, MDIO_WC_DEVAD,\n \t\t\t\tMDIO_WC_REG_GP2_STATUS_GP_2_1, &gp_status1);\n-\t\tPMD_DRV_LOG(DEBUG, \"0x81d1 = 0x%x\", gp_status1);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"0x81d1 = 0x%x\", gp_status1);\n \t\t/* Check for either KR, 1G, or AN up. */\n \t\tlink_up = ((gp_status1 >> 8) |\n \t\t\t   (gp_status1 >> 12) | (gp_status1)) & (1 << lane);\n@@ -5398,7 +5400,7 @@ static uint8_t elink_warpcore_read_status(struct elink_phy *phy,\n \t\telink_cl45_read(sc, phy, MDIO_WC_DEVAD,\n \t\t\t\tMDIO_WC_REG_GP2_STATUS_GP_2_3, &gp_speed);\n \t}\n-\tPMD_DRV_LOG(DEBUG, \"lane %d gp_speed 0x%x\", lane, gp_speed);\n+\tPMD_DRV_LOG(DEBUG, sc, \"lane %d gp_speed 0x%x\", lane, gp_speed);\n \n \tif ((lane & 1) == 0)\n \t\tgp_speed <<= 8;\n@@ -5414,7 +5416,7 @@ static uint8_t elink_warpcore_read_status(struct elink_phy *phy,\n \t    (!(phy->flags & ELINK_FLAGS_WC_DUAL_MODE)))\n \t\tvars->rx_tx_asic_rst = MAX_KR_LINK_RETRY;\n \n-\tPMD_DRV_LOG(DEBUG, \"duplex %x  flow_ctrl 0x%x link_status 0x%x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"duplex %x  flow_ctrl 0x%x link_status 0x%x\",\n \t\t    vars->duplex, vars->flow_ctrl, vars->link_status);\n \treturn rc;\n }\n@@ -5461,7 +5463,7 @@ static elink_status_t elink_emac_program(struct elink_params *params,\n \tuint8_t port = params->port;\n \tuint16_t mode = 0;\n \n-\tPMD_DRV_LOG(DEBUG, \"setting link speed & duplex\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"setting link speed & duplex\");\n \telink_bits_dis(sc, GRCBASE_EMAC0 + port * 0x400 +\n \t\t       EMAC_REG_EMAC_MODE,\n \t\t       (EMAC_MODE_25G_MODE |\n@@ -5485,7 +5487,8 @@ static elink_status_t elink_emac_program(struct elink_params *params,\n \n \tdefault:\n \t\t/* 10G not valid for EMAC */\n-\t\tPMD_DRV_LOG(DEBUG, \"Invalid line_speed 0x%x\", vars->line_speed);\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t\t    \"Invalid line_speed 0x%x\", vars->line_speed);\n \t\treturn ELINK_STATUS_ERROR;\n \t}\n \n@@ -5537,7 +5540,7 @@ static uint8_t elink_xgxs_config_init(struct elink_phy *phy,\n \t\tif (vars->line_speed != ELINK_SPEED_AUTO_NEG ||\n \t\t    (ELINK_SINGLE_MEDIA_DIRECT(params) &&\n \t\t     params->loopback_mode == ELINK_LOOPBACK_EXT)) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"not SGMII, no AN\");\n+\t\t\tPMD_DRV_LOG(DEBUG, params->sc, \"not SGMII, no AN\");\n \n \t\t\t/* Disable autoneg */\n \t\t\telink_set_autoneg(phy, params, vars, 0);\n@@ -5546,7 +5549,7 @@ static uint8_t elink_xgxs_config_init(struct elink_phy *phy,\n \t\t\telink_program_serdes(phy, params, vars);\n \n \t\t} else {\t/* AN_mode */\n-\t\t\tPMD_DRV_LOG(DEBUG, \"not SGMII, AN\");\n+\t\t\tPMD_DRV_LOG(DEBUG, params->sc, \"not SGMII, AN\");\n \n \t\t\t/* AN enabled */\n \t\t\telink_set_brcm_cl37_advertisement(phy, params);\n@@ -5563,7 +5566,7 @@ static uint8_t elink_xgxs_config_init(struct elink_phy *phy,\n \t\t}\n \n \t} else {\t\t/* SGMII mode */\n-\t\tPMD_DRV_LOG(DEBUG, \"SGMII\");\n+\t\tPMD_DRV_LOG(DEBUG, params->sc, \"SGMII\");\n \n \t\telink_initialize_sgmii_process(phy, params, vars);\n \t}\n@@ -5632,7 +5635,7 @@ static uint16_t elink_wait_reset_complete(struct bnx2x_softc *sc,\n \t\telink_cb_event_log(sc, ELINK_LOG_ID_PHY_UNINITIALIZED, params->port);\t// \"Warning: PHY was not initialized,\"\n \t// \" Port %d\",\n \n-\tPMD_DRV_LOG(DEBUG, \"control reg 0x%x (after %d ms)\", ctrl, cnt);\n+\tPMD_DRV_LOG(DEBUG, sc, \"control reg 0x%x (after %d ms)\", ctrl, cnt);\n \treturn cnt;\n }\n \n@@ -5650,35 +5653,35 @@ static void elink_link_int_enable(struct elink_params *params)\n \t} else if (params->switch_cfg == ELINK_SWITCH_CFG_10G) {\n \t\tmask = (ELINK_NIG_MASK_XGXS0_LINK10G |\n \t\t\tELINK_NIG_MASK_XGXS0_LINK_STATUS);\n-\t\tPMD_DRV_LOG(DEBUG, \"enabled XGXS interrupt\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"enabled XGXS interrupt\");\n \t\tif (!(ELINK_SINGLE_MEDIA_DIRECT(params)) &&\n \t\t    params->phy[ELINK_INT_PHY].type !=\n \t\t    PORT_HW_CFG_XGXS_EXT_PHY_TYPE_FAILURE) {\n \t\t\tmask |= ELINK_NIG_MASK_MI_INT;\n-\t\t\tPMD_DRV_LOG(DEBUG, \"enabled external phy int\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"enabled external phy int\");\n \t\t}\n \n \t} else {\t\t/* SerDes */\n \t\tmask = ELINK_NIG_MASK_SERDES0_LINK_STATUS;\n-\t\tPMD_DRV_LOG(DEBUG, \"enabled SerDes interrupt\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"enabled SerDes interrupt\");\n \t\tif (!(ELINK_SINGLE_MEDIA_DIRECT(params)) &&\n \t\t    params->phy[ELINK_INT_PHY].type !=\n \t\t    PORT_HW_CFG_SERDES_EXT_PHY_TYPE_NOT_CONN) {\n \t\t\tmask |= ELINK_NIG_MASK_MI_INT;\n-\t\t\tPMD_DRV_LOG(DEBUG, \"enabled external phy int\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"enabled external phy int\");\n \t\t}\n \t}\n \telink_bits_en(sc, NIG_REG_MASK_INTERRUPT_PORT0 + port * 4, mask);\n \n-\tPMD_DRV_LOG(DEBUG, \"port %x, is_xgxs %x, int_status 0x%x\", port,\n+\tPMD_DRV_LOG(DEBUG, sc, \"port %x, is_xgxs %x, int_status 0x%x\", port,\n \t\t    (params->switch_cfg == ELINK_SWITCH_CFG_10G),\n \t\t    REG_RD(sc, NIG_REG_STATUS_INTERRUPT_PORT0 + port * 4));\n-\tPMD_DRV_LOG(DEBUG, \" int_mask 0x%x, MI_INT %x, SERDES_LINK %x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \" int_mask 0x%x, MI_INT %x, SERDES_LINK %x\",\n \t\t    REG_RD(sc, NIG_REG_MASK_INTERRUPT_PORT0 + port * 4),\n \t\t    REG_RD(sc, NIG_REG_EMAC0_STATUS_MISC_MI_INT + port * 0x18),\n \t\t    REG_RD(sc,\n \t\t\t   NIG_REG_SERDES0_STATUS_LINK_STATUS + port * 0x3c));\n-\tPMD_DRV_LOG(DEBUG, \" 10G %x, XGXS_LINK %x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \" 10G %x, XGXS_LINK %x\",\n \t\t    REG_RD(sc, NIG_REG_XGXS0_STATUS_LINK10G + port * 0x68),\n \t\t    REG_RD(sc, NIG_REG_XGXS0_STATUS_LINK_STATUS + port * 0x68));\n }\n@@ -5694,7 +5697,7 @@ static void elink_rearm_latch_signal(struct bnx2x_softc *sc, uint8_t port,\n \t */\n \t/* Read Latched signals */\n \tlatch_status = REG_RD(sc, NIG_REG_LATCH_STATUS_0 + port * 8);\n-\tPMD_DRV_LOG(DEBUG, \"latch_status = 0x%x\", latch_status);\n+\tPMD_DRV_LOG(DEBUG, sc, \"latch_status = 0x%x\", latch_status);\n \t/* Handle only those with latched-signal=up. */\n \tif (exp_mi_int)\n \t\telink_bits_en(sc,\n@@ -5746,7 +5749,7 @@ static void elink_link_int_ack(struct elink_params *params,\n \t\t\t} else\n \t\t\t\tmask = ELINK_NIG_STATUS_SERDES0_LINK_STATUS;\n \t\t}\n-\t\tPMD_DRV_LOG(DEBUG, \"Ack link up interrupt with mask 0x%x\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Ack link up interrupt with mask 0x%x\",\n \t\t\t    mask);\n \t\telink_bits_en(sc,\n \t\t\t      NIG_REG_STATUS_INTERRUPT_PORT0 + port * 4, mask);\n@@ -5809,7 +5812,7 @@ static void elink_set_xgxs_loopback(struct elink_phy *phy,\n \tif (phy->req_line_speed != ELINK_SPEED_1000) {\n \t\tuint32_t md_devad = 0;\n \n-\t\tPMD_DRV_LOG(DEBUG, \"XGXS 10G loopback enable\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"XGXS 10G loopback enable\");\n \n \t\tif (!CHIP_IS_E3(sc)) {\n \t\t\t/* Change the uni_phy_addr in the nig */\n@@ -5841,7 +5844,7 @@ static void elink_set_xgxs_loopback(struct elink_phy *phy,\n \t\t}\n \t} else {\n \t\tuint16_t mii_ctrl;\n-\t\tPMD_DRV_LOG(DEBUG, \"XGXS 1G loopback enable\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"XGXS 1G loopback enable\");\n \t\telink_cl45_read(sc, phy, 5,\n \t\t\t\t(MDIO_REG_BANK_COMBO_IEEE0 +\n \t\t\t\t (MDIO_COMBO_IEEE0_MII_CONTROL & 0xf)),\n@@ -5865,8 +5868,9 @@ elink_status_t elink_set_led(struct elink_params *params,\n \tuint32_t tmp;\n \tuint32_t emac_base = port ? GRCBASE_EMAC1 : GRCBASE_EMAC0;\n \tstruct bnx2x_softc *sc = params->sc;\n-\tPMD_DRV_LOG(DEBUG, \"elink_set_led: port %x, mode %d\", port, mode);\n-\tPMD_DRV_LOG(DEBUG, \"speed 0x%x, hw_led_mode 0x%x\", speed, hw_led_mode);\n+\tPMD_DRV_LOG(DEBUG, sc, \"elink_set_led: port %x, mode %d\", port, mode);\n+\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t    \"speed 0x%x, hw_led_mode 0x%x\", speed, hw_led_mode);\n \t/* In case */\n \tfor (phy_idx = ELINK_EXT_PHY1; phy_idx < ELINK_MAX_PHYS; phy_idx++) {\n \t\tif (params->phy[phy_idx].set_link_led) {\n@@ -5986,7 +5990,8 @@ elink_status_t elink_set_led(struct elink_params *params,\n \n \tdefault:\n \t\trc = ELINK_STATUS_ERROR;\n-\t\tPMD_DRV_LOG(DEBUG, \"elink_set_led: Invalid led mode %d\", mode);\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t\t    \"elink_set_led: Invalid led mode %d\", mode);\n \t\tbreak;\n \t}\n \treturn rc;\n@@ -6053,7 +6058,7 @@ static elink_status_t elink_link_initialize(struct elink_params *params,\n \t\t\tif (phy_index == ELINK_EXT_PHY2 &&\n \t\t\t    (elink_phy_selection(params) ==\n \t\t\t     PORT_HW_CFG_PHY_SELECTION_FIRST_PHY)) {\n-\t\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t\t    \"Not initializing second phy\");\n \t\t\t\tcontinue;\n \t\t\t}\n@@ -6094,7 +6099,7 @@ static void elink_common_ext_link_reset(__rte_unused struct elink_phy *phy,\n \t\t\t    MISC_REGISTERS_GPIO_OUTPUT_LOW, gpio_port);\n \telink_cb_gpio_write(sc, MISC_REGISTERS_GPIO_2,\n \t\t\t    MISC_REGISTERS_GPIO_OUTPUT_LOW, gpio_port);\n-\tPMD_DRV_LOG(DEBUG, \"reset external PHY\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"reset external PHY\");\n }\n \n static elink_status_t elink_update_link_down(struct elink_params *params,\n@@ -6103,7 +6108,7 @@ static elink_status_t elink_update_link_down(struct elink_params *params,\n \tstruct bnx2x_softc *sc = params->sc;\n \tuint8_t port = params->port;\n \n-\tPMD_DRV_LOG(DEBUG, \"Port %x: Link is down\", port);\n+\tPMD_DRV_LOG(DEBUG, sc, \"Port %x: Link is down\", port);\n \telink_set_led(params, vars, ELINK_LED_MODE_OFF, 0);\n \tvars->phy_flags &= ~PHY_PHYSICAL_LINK_FLAG;\n \t/* Indicate no mac active */\n@@ -6164,7 +6169,7 @@ static elink_status_t elink_update_link_up(struct elink_params *params,\n \t\tif (link_10g) {\n \t\t\tif (elink_xmac_enable(params, vars, 0) ==\n \t\t\t    ELINK_STATUS_NO_LINK) {\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"Found errors on XMAC\");\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Found errors on XMAC\");\n \t\t\t\tvars->link_up = 0;\n \t\t\t\tvars->phy_flags |= PHY_HALF_OPEN_CONN_FLAG;\n \t\t\t\tvars->link_status &= ~LINK_STATUS_LINK_UP;\n@@ -6176,7 +6181,7 @@ static elink_status_t elink_update_link_up(struct elink_params *params,\n \n \t\tif ((vars->eee_status & SHMEM_EEE_ACTIVE_BIT) &&\n \t\t    (vars->eee_status & SHMEM_EEE_LPI_REQUESTED_BIT)) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Enabling LPI assertion\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Enabling LPI assertion\");\n \t\t\tREG_WR(sc, MISC_REG_CPMU_LP_FW_ENABLE_P0 +\n \t\t\t       (params->port << 2), 1);\n \t\t\tREG_WR(sc, MISC_REG_CPMU_LP_DR_ENABLE, 1);\n@@ -6188,7 +6193,7 @@ static elink_status_t elink_update_link_up(struct elink_params *params,\n \t\tif (link_10g) {\n \t\t\tif (elink_bmac_enable(params, vars, 0, 1) ==\n \t\t\t    ELINK_STATUS_NO_LINK) {\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"Found errors on BMAC\");\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Found errors on BMAC\");\n \t\t\t\tvars->link_up = 0;\n \t\t\t\tvars->phy_flags |= PHY_HALF_OPEN_CONN_FLAG;\n \t\t\t\tvars->link_status &= ~LINK_STATUS_LINK_UP;\n@@ -6273,19 +6278,19 @@ elink_status_t elink_link_update(struct elink_params * params,\n \tif (USES_WARPCORE(sc))\n \t\telink_set_aer_mmd(params, &params->phy[ELINK_INT_PHY]);\n \n-\tPMD_DRV_LOG(DEBUG, \"port %x, XGXS?%x, int_status 0x%x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"port %x, XGXS?%x, int_status 0x%x\",\n \t\t    port, (vars->phy_flags & PHY_XGXS_FLAG),\n \t\t    REG_RD(sc, NIG_REG_STATUS_INTERRUPT_PORT0 + port * 4));\n \n \tis_mi_int = (uint8_t) (REG_RD(sc, NIG_REG_EMAC0_STATUS_MISC_MI_INT +\n \t\t\t\t      port * 0x18) > 0);\n-\tPMD_DRV_LOG(DEBUG, \"int_mask 0x%x MI_INT %x, SERDES_LINK %x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"int_mask 0x%x MI_INT %x, SERDES_LINK %x\",\n \t\t    REG_RD(sc, NIG_REG_MASK_INTERRUPT_PORT0 + port * 4),\n \t\t    is_mi_int,\n \t\t    REG_RD(sc,\n \t\t\t   NIG_REG_SERDES0_STATUS_LINK_STATUS + port * 0x3c));\n \n-\tPMD_DRV_LOG(DEBUG, \" 10G %x, XGXS_LINK %x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \" 10G %x, XGXS_LINK %x\",\n \t\t    REG_RD(sc, NIG_REG_XGXS0_STATUS_LINK10G + port * 0x68),\n \t\t    REG_RD(sc, NIG_REG_XGXS0_STATUS_LINK_STATUS + port * 0x68));\n \n@@ -6309,10 +6314,10 @@ elink_status_t elink_link_update(struct elink_params * params,\n \t\tcur_link_up = phy->read_status(phy, params,\n \t\t\t\t\t       &phy_vars[phy_index]);\n \t\tif (cur_link_up) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"phy in index %d link is up\",\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"phy in index %d link is up\",\n \t\t\t\t    phy_index);\n \t\t} else {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"phy in index %d link is down\",\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"phy in index %d link is down\",\n \t\t\t\t    phy_index);\n \t\t\tcontinue;\n \t\t}\n@@ -6345,7 +6350,7 @@ elink_status_t elink_link_update(struct elink_params * params,\n \t\t\t\t * to link up by itself (using configuration)\n \t\t\t\t * - DEFAULT should be overridden during initialization\n \t\t\t\t */\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"Invalid link indication\"\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Invalid link indication\"\n \t\t\t\t\t    \"mpc=0x%x. DISABLING LINK !!!\",\n \t\t\t\t\t    params->multi_phy_config);\n \t\t\t\text_phy_link_up = 0;\n@@ -6383,7 +6388,7 @@ elink_status_t elink_link_update(struct elink_params * params,\n \t\t */\n \t\tif (active_external_phy == ELINK_EXT_PHY1) {\n \t\t\tif (params->phy[ELINK_EXT_PHY2].phy_specific_func) {\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"Disabling TX on EXT_PHY2\");\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Disabling TX on EXT_PHY2\");\n \t\t\t\tparams->phy[ELINK_EXT_PHY2].\n \t\t\t\t    phy_specific_func(&params->\n \t\t\t\t\t\t      phy[ELINK_EXT_PHY2],\n@@ -6401,7 +6406,7 @@ elink_status_t elink_link_update(struct elink_params * params,\n \n \t\tvars->eee_status = phy_vars[active_external_phy].eee_status;\n \n-\t\tPMD_DRV_LOG(DEBUG, \"Active external phy selected: %x\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Active external phy selected: %x\",\n \t\t\t    active_external_phy);\n \t}\n \n@@ -6415,7 +6420,7 @@ elink_status_t elink_link_update(struct elink_params * params,\n \t\t\tbreak;\n \t\t}\n \t}\n-\tPMD_DRV_LOG(DEBUG, \"vars->flow_ctrl = 0x%x, vars->link_status = 0x%x,\"\n+\tPMD_DRV_LOG(DEBUG, sc, \"vars->flow_ctrl = 0x%x, vars->link_status = 0x%x,\"\n \t\t    \" ext_phy_line_speed = %d\", vars->flow_ctrl,\n \t\t    vars->link_status, ext_phy_line_speed);\n \t/* Upon link speed change set the NIG into drain mode. Comes to\n@@ -6426,7 +6431,7 @@ elink_status_t elink_link_update(struct elink_params * params,\n \tif (vars->phy_link_up) {\n \t\tif (!(ELINK_SINGLE_MEDIA_DIRECT(params)) && ext_phy_link_up &&\n \t\t    (ext_phy_line_speed != vars->line_speed)) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Internal link speed %d is\"\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Internal link speed %d is\"\n \t\t\t\t    \" different than the external\"\n \t\t\t\t    \" link speed %d\", vars->line_speed,\n \t\t\t\t    ext_phy_line_speed);\n@@ -6452,7 +6457,7 @@ elink_status_t elink_link_update(struct elink_params * params,\n \t * initialize it\n \t */\n \tif (!(ELINK_SINGLE_MEDIA_DIRECT(params))) {\n-\t\tPMD_DRV_LOG(DEBUG, \"ext_phy_link_up = %d, int_link_up = %d,\"\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"ext_phy_link_up = %d, int_link_up = %d,\"\n \t\t\t    \" init_preceding = %d\", ext_phy_link_up,\n \t\t\t    vars->phy_link_up,\n \t\t\t    params->phy[ELINK_EXT_PHY1].flags &\n@@ -6517,7 +6522,7 @@ static void elink_save_spirom_version(struct bnx2x_softc *sc,\n \t\t\t\t      __rte_unused uint8_t port,\n \t\t\t\t      uint32_t spirom_ver, uint32_t ver_addr)\n {\n-\tPMD_DRV_LOG(DEBUG, \"FW version 0x%x:0x%x for port %d\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"FW version 0x%x:0x%x for port %d\",\n \t\t    (uint16_t) (spirom_ver >> 16), (uint16_t) spirom_ver, port);\n \n \tif (ver_addr)\n@@ -6583,7 +6588,7 @@ static void elink_8073_resolve_fc(struct elink_phy *phy,\n \t\t\t\t MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_BOTH) >> 7;\n \n \t\telink_pause_resolve(vars, pause_result);\n-\t\tPMD_DRV_LOG(DEBUG, \"Ext PHY CL37 pause result 0x%x\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Ext PHY CL37 pause result 0x%x\",\n \t\t\t    pause_result);\n \t}\n }\n@@ -6627,7 +6632,7 @@ static elink_status_t elink_8073_8727_external_rom_boot(struct bnx2x_softc *sc,\n \tdo {\n \t\tcount++;\n \t\tif (count > 300) {\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t    \"elink_8073_8727_external_rom_boot port %x:\"\n \t\t\t\t    \"Download failed. fw version = 0x%x\",\n \t\t\t\t    port, fw_ver1);\n@@ -6652,7 +6657,7 @@ static elink_status_t elink_8073_8727_external_rom_boot(struct bnx2x_softc *sc,\n \t\t\t MDIO_PMA_DEVAD, MDIO_PMA_REG_MISC_CTRL1, 0x0000);\n \telink_save_bnx2x_spirom_ver(sc, phy, port);\n \n-\tPMD_DRV_LOG(DEBUG,\n+\tPMD_DRV_LOG(DEBUG, sc,\n \t\t    \"elink_8073_8727_external_rom_boot port %x:\"\n \t\t    \"Download complete. fw version = 0x%x\", port, fw_ver1);\n \n@@ -6713,10 +6718,10 @@ static elink_status_t elink_8073_xaui_wa(struct bnx2x_softc *sc,\n \t\t * these bits indicate 2.5G or 1G link up).\n \t\t */\n \t\tif (!(val & (1 << 14)) || !(val & (1 << 13))) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"XAUI work-around not required\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"XAUI work-around not required\");\n \t\t\treturn ELINK_STATUS_OK;\n \t\t} else if (!(val & (1 << 15))) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"bit 15 went off\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"bit 15 went off\");\n \t\t\t/* If bit 15 is 0, then poll Dev1, Reg $C841 until it's\n \t\t\t * MSB (bit15) goes to 1 (indicating that the XAUI\n \t\t\t * workaround has completed), then continue on with\n@@ -6728,7 +6733,7 @@ static elink_status_t elink_8073_xaui_wa(struct bnx2x_softc *sc,\n \t\t\t\t\t\tMDIO_PMA_REG_8073_XAUI_WA,\n \t\t\t\t\t\t&val);\n \t\t\t\tif (val & (1 << 15)) {\n-\t\t\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t\t\t    \"XAUI workaround has completed\");\n \t\t\t\t\treturn ELINK_STATUS_OK;\n \t\t\t\t}\n@@ -6738,7 +6743,7 @@ static elink_status_t elink_8073_xaui_wa(struct bnx2x_softc *sc,\n \t\t}\n \t\tDELAY(1000 * 3);\n \t}\n-\tPMD_DRV_LOG(DEBUG, \"Warning: XAUI work-around timeout !!!\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Warning: XAUI work-around timeout !!!\");\n \treturn ELINK_STATUS_ERROR;\n }\n \n@@ -6780,7 +6785,7 @@ static void elink_8073_set_pause_cl37(struct elink_params *params,\n \t    MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_BOTH) {\n \t\tcl37_val |= MDIO_COMBO_IEEE0_AUTO_NEG_ADV_PAUSE_BOTH;\n \t}\n-\tPMD_DRV_LOG(DEBUG, \"Ext phy AN advertize cl37 0x%x\", cl37_val);\n+\tPMD_DRV_LOG(DEBUG, sc, \"Ext phy AN advertize cl37 0x%x\", cl37_val);\n \n \telink_cl45_write(sc, phy,\n \t\t\t MDIO_AN_DEVAD, MDIO_AN_REG_CL37_FC_LD, cl37_val);\n@@ -6811,7 +6816,7 @@ static uint8_t elink_8073_config_init(struct elink_phy *phy,\n \tstruct bnx2x_softc *sc = params->sc;\n \tuint16_t val = 0, tmp1;\n \tuint8_t gpio_port;\n-\tPMD_DRV_LOG(DEBUG, \"Init 8073\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Init 8073\");\n \n \tif (CHIP_IS_E2(sc))\n \t\tgpio_port = SC_PATH(sc);\n@@ -6832,12 +6837,12 @@ static uint8_t elink_8073_config_init(struct elink_phy *phy,\n \n \telink_cl45_read(sc, phy, MDIO_PMA_DEVAD, MDIO_PMA_LASI_RXSTAT, &tmp1);\n \n-\tPMD_DRV_LOG(DEBUG, \"Before rom RX_ALARM(port1): 0x%x\", tmp1);\n+\tPMD_DRV_LOG(DEBUG, sc, \"Before rom RX_ALARM(port1): 0x%x\", tmp1);\n \n \t/* Swap polarity if required - Must be done only in non-1G mode */\n \tif (params->lane_config & PORT_HW_CFG_SWAP_PHY_POLARITY_ENABLED) {\n \t\t/* Configure the 8073 to swap _P and _N of the KR lines */\n-\t\tPMD_DRV_LOG(DEBUG, \"Swapping polarity for the 8073\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Swapping polarity for the 8073\");\n \t\t/* 10G Rx/Tx and 1G Tx signal polarity swap */\n \t\telink_cl45_read(sc, phy,\n \t\t\t\tMDIO_PMA_DEVAD,\n@@ -6859,11 +6864,11 @@ static uint8_t elink_8073_config_init(struct elink_phy *phy,\n \t\t\t\tMDIO_AN_DEVAD, MDIO_AN_REG_8073_BAM, &val);\n \t\telink_cl45_write(sc, phy,\n \t\t\t\t MDIO_AN_DEVAD, MDIO_AN_REG_8073_BAM, val | 1);\n-\t\tPMD_DRV_LOG(DEBUG, \"Enable CL37 BAM on KR\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Enable CL37 BAM on KR\");\n \t}\n \tif (params->loopback_mode == ELINK_LOOPBACK_EXT) {\n \t\telink_807x_force_10G(sc, phy);\n-\t\tPMD_DRV_LOG(DEBUG, \"Forced speed 10G on 807X\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Forced speed 10G on 807X\");\n \t\treturn ELINK_STATUS_OK;\n \t} else {\n \t\telink_cl45_write(sc, phy,\n@@ -6889,7 +6894,7 @@ static uint8_t elink_8073_config_init(struct elink_phy *phy,\n \t\t    (PORT_HW_CFG_SPEED_CAPABILITY_D0_1G |\n \t\t     PORT_HW_CFG_SPEED_CAPABILITY_D0_2_5G))\n \t\t\tval |= (1 << 5);\n-\t\tPMD_DRV_LOG(DEBUG, \"807x autoneg val = 0x%x\", val);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"807x autoneg val = 0x%x\", val);\n \t}\n \n \telink_cl45_write(sc, phy, MDIO_AN_DEVAD, MDIO_AN_REG_ADV, val);\n@@ -6903,13 +6908,13 @@ static uint8_t elink_8073_config_init(struct elink_phy *phy,\n \t\telink_cl45_read(sc, phy,\n \t\t\t\tMDIO_PMA_DEVAD, MDIO_PMA_REG_8073_CHIP_REV,\n \t\t\t\t&phy_ver);\n-\t\tPMD_DRV_LOG(DEBUG, \"Add 2.5G\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Add 2.5G\");\n \t\tif (phy_ver > 0)\n \t\t\ttmp1 |= 1;\n \t\telse\n \t\t\ttmp1 &= 0xfffe;\n \t} else {\n-\t\tPMD_DRV_LOG(DEBUG, \"Disable 2.5G\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Disable 2.5G\");\n \t\ttmp1 &= 0xfffe;\n \t}\n \n@@ -6943,7 +6948,7 @@ static uint8_t elink_8073_config_init(struct elink_phy *phy,\n \t/* Restart autoneg */\n \tDELAY(1000 * 500);\n \telink_cl45_write(sc, phy, MDIO_AN_DEVAD, MDIO_AN_REG_CTRL, 0x1200);\n-\tPMD_DRV_LOG(DEBUG, \"807x Autoneg Restart: Advertise 1G=%x, 10G=%x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"807x Autoneg Restart: Advertise 1G=%x, 10G=%x\",\n \t\t    ((val & (1 << 5)) > 0), ((val & (1 << 7)) > 0));\n \treturn ELINK_STATUS_OK;\n }\n@@ -6960,12 +6965,12 @@ static uint8_t elink_8073_read_status(struct elink_phy *phy,\n \n \telink_cl45_read(sc, phy, MDIO_PMA_DEVAD, MDIO_PMA_LASI_STAT, &val1);\n \n-\tPMD_DRV_LOG(DEBUG, \"8703 LASI status 0x%x\", val1);\n+\tPMD_DRV_LOG(DEBUG, sc, \"8703 LASI status 0x%x\", val1);\n \n \t/* Clear the interrupt LASI status register */\n \telink_cl45_read(sc, phy, MDIO_PCS_DEVAD, MDIO_PCS_REG_STATUS, &val2);\n \telink_cl45_read(sc, phy, MDIO_PCS_DEVAD, MDIO_PCS_REG_STATUS, &val1);\n-\tPMD_DRV_LOG(DEBUG, \"807x PCS status 0x%x->0x%x\", val2, val1);\n+\tPMD_DRV_LOG(DEBUG, sc, \"807x PCS status 0x%x->0x%x\", val2, val1);\n \t/* Clear MSG-OUT */\n \telink_cl45_read(sc, phy,\n \t\t\tMDIO_PMA_DEVAD, MDIO_PMA_REG_M8051_MSGOUT_REG, &val1);\n@@ -6973,16 +6978,16 @@ static uint8_t elink_8073_read_status(struct elink_phy *phy,\n \t/* Check the LASI */\n \telink_cl45_read(sc, phy, MDIO_PMA_DEVAD, MDIO_PMA_LASI_RXSTAT, &val2);\n \n-\tPMD_DRV_LOG(DEBUG, \"KR 0x9003 0x%x\", val2);\n+\tPMD_DRV_LOG(DEBUG, sc, \"KR 0x9003 0x%x\", val2);\n \n \t/* Check the link status */\n \telink_cl45_read(sc, phy, MDIO_PCS_DEVAD, MDIO_PCS_REG_STATUS, &val2);\n-\tPMD_DRV_LOG(DEBUG, \"KR PCS status 0x%x\", val2);\n+\tPMD_DRV_LOG(DEBUG, sc, \"KR PCS status 0x%x\", val2);\n \n \telink_cl45_read(sc, phy, MDIO_PMA_DEVAD, MDIO_PMA_REG_STATUS, &val2);\n \telink_cl45_read(sc, phy, MDIO_PMA_DEVAD, MDIO_PMA_REG_STATUS, &val1);\n \tlink_up = ((val1 & 4) == 4);\n-\tPMD_DRV_LOG(DEBUG, \"PMA_REG_STATUS=0x%x\", val1);\n+\tPMD_DRV_LOG(DEBUG, sc, \"PMA_REG_STATUS=0x%x\", val1);\n \n \tif (link_up && ((phy->req_line_speed != ELINK_SPEED_10000))) {\n \t\tif (elink_8073_xaui_wa(sc, phy) != 0)\n@@ -6996,7 +7001,7 @@ static uint8_t elink_8073_read_status(struct elink_phy *phy,\n \t/* Check the link status on 1.1.2 */\n \telink_cl45_read(sc, phy, MDIO_PMA_DEVAD, MDIO_PMA_REG_STATUS, &val2);\n \telink_cl45_read(sc, phy, MDIO_PMA_DEVAD, MDIO_PMA_REG_STATUS, &val1);\n-\tPMD_DRV_LOG(DEBUG, \"KR PMA status 0x%x->0x%x,\"\n+\tPMD_DRV_LOG(DEBUG, sc, \"KR PMA status 0x%x->0x%x,\"\n \t\t    \"an_link_status=0x%x\", val2, val1, an1000_status);\n \n \tlink_up = (((val1 & 4) == 4) || (an1000_status & (1 << 1)));\n@@ -7022,21 +7027,21 @@ static uint8_t elink_8073_read_status(struct elink_phy *phy,\n \tif ((link_status & (1 << 2)) && (!(link_status & (1 << 15)))) {\n \t\tlink_up = 1;\n \t\tvars->line_speed = ELINK_SPEED_10000;\n-\t\tPMD_DRV_LOG(DEBUG, \"port %x: External link up in 10G\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"port %x: External link up in 10G\",\n \t\t\t    params->port);\n \t} else if ((link_status & (1 << 1)) && (!(link_status & (1 << 14)))) {\n \t\tlink_up = 1;\n \t\tvars->line_speed = ELINK_SPEED_2500;\n-\t\tPMD_DRV_LOG(DEBUG, \"port %x: External link up in 2.5G\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"port %x: External link up in 2.5G\",\n \t\t\t    params->port);\n \t} else if ((link_status & (1 << 0)) && (!(link_status & (1 << 13)))) {\n \t\tlink_up = 1;\n \t\tvars->line_speed = ELINK_SPEED_1000;\n-\t\tPMD_DRV_LOG(DEBUG, \"port %x: External link up in 1G\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"port %x: External link up in 1G\",\n \t\t\t    params->port);\n \t} else {\n \t\tlink_up = 0;\n-\t\tPMD_DRV_LOG(DEBUG, \"port %x: External link is down\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"port %x: External link is down\",\n \t\t\t    params->port);\n \t}\n \n@@ -7051,7 +7056,7 @@ static uint8_t elink_8073_read_status(struct elink_phy *phy,\n \t\t\t * when it`s in 10G mode.\n \t\t\t */\n \t\t\tif (vars->line_speed == ELINK_SPEED_1000) {\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"Swapping 1G polarity for\"\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Swapping 1G polarity for\"\n \t\t\t\t\t    \"the 8073\");\n \t\t\t\tval1 |= (1 << 3);\n \t\t\t} else\n@@ -7090,7 +7095,7 @@ static void elink_8073_link_reset(__rte_unused struct elink_phy *phy,\n \t\tgpio_port = SC_PATH(sc);\n \telse\n \t\tgpio_port = params->port;\n-\tPMD_DRV_LOG(DEBUG, \"Setting 8073 port %d into low power mode\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"Setting 8073 port %d into low power mode\",\n \t\t    gpio_port);\n \telink_cb_gpio_write(sc, MISC_REGISTERS_GPIO_2,\n \t\t\t    MISC_REGISTERS_GPIO_OUTPUT_LOW, gpio_port);\n@@ -7105,7 +7110,7 @@ static uint8_t elink_8705_config_init(struct elink_phy *phy,\n \t\t\t\t\t     *vars)\n {\n \tstruct bnx2x_softc *sc = params->sc;\n-\tPMD_DRV_LOG(DEBUG, \"init 8705\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"init 8705\");\n \t/* Restore normal power mode */\n \telink_cb_gpio_write(sc, MISC_REGISTERS_GPIO_2,\n \t\t\t    MISC_REGISTERS_GPIO_OUTPUT_HIGH, params->port);\n@@ -7133,21 +7138,21 @@ static uint8_t elink_8705_read_status(struct elink_phy *phy,\n \tuint8_t link_up = 0;\n \tuint16_t val1, rx_sd;\n \tstruct bnx2x_softc *sc = params->sc;\n-\tPMD_DRV_LOG(DEBUG, \"read status 8705\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"read status 8705\");\n \telink_cl45_read(sc, phy,\n \t\t\tMDIO_WIS_DEVAD, MDIO_WIS_REG_LASI_STATUS, &val1);\n-\tPMD_DRV_LOG(DEBUG, \"8705 LASI status 0x%x\", val1);\n+\tPMD_DRV_LOG(DEBUG, sc, \"8705 LASI status 0x%x\", val1);\n \n \telink_cl45_read(sc, phy,\n \t\t\tMDIO_WIS_DEVAD, MDIO_WIS_REG_LASI_STATUS, &val1);\n-\tPMD_DRV_LOG(DEBUG, \"8705 LASI status 0x%x\", val1);\n+\tPMD_DRV_LOG(DEBUG, sc, \"8705 LASI status 0x%x\", val1);\n \n \telink_cl45_read(sc, phy, MDIO_PMA_DEVAD, MDIO_PMA_REG_RX_SD, &rx_sd);\n \n \telink_cl45_read(sc, phy, MDIO_PMA_DEVAD, 0xc809, &val1);\n \telink_cl45_read(sc, phy, MDIO_PMA_DEVAD, 0xc809, &val1);\n \n-\tPMD_DRV_LOG(DEBUG, \"8705 1.c809 val=0x%x\", val1);\n+\tPMD_DRV_LOG(DEBUG, sc, \"8705 1.c809 val=0x%x\", val1);\n \tlink_up = ((rx_sd & 0x1) && (val1 & (1 << 9))\n \t\t   && ((val1 & (1 << 8)) == 0));\n \tif (link_up) {\n@@ -7171,13 +7176,13 @@ static void elink_set_disable_pmd_transmit(struct elink_params *params,\n \tif (pmd_dis) {\n \t\tif (params->feature_config_flags &\n \t\t    ELINK_FEATURE_CONFIG_BC_SUPPORTS_SFP_TX_DISABLED) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Disabling PMD transmitter\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Disabling PMD transmitter\");\n \t\t} else {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"NOT disabling PMD transmitter\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"NOT disabling PMD transmitter\");\n \t\t\treturn;\n \t\t}\n \t} else {\n-\t\tPMD_DRV_LOG(DEBUG, \"Enabling PMD transmitter\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Enabling PMD transmitter\");\n \t}\n \telink_cl45_write(sc, phy,\n \t\t\t MDIO_PMA_DEVAD, MDIO_PMA_REG_TX_DISABLE, pmd_dis);\n@@ -7211,7 +7216,7 @@ static void elink_sfp_e1e2_set_transmitter(struct elink_params *params,\n \t\t\t    offsetof(struct shmem_region,\n \t\t\t\t     dev_info.port_hw_config[port].sfp_ctrl)) &\n \t    PORT_HW_CFG_TX_LASER_MASK;\n-\tPMD_DRV_LOG(DEBUG, \"Setting transmitter tx_en=%x for port %x \"\n+\tPMD_DRV_LOG(DEBUG, sc, \"Setting transmitter tx_en=%x for port %x \"\n \t\t    \"mode = %x\", tx_en, port, tx_en_mode);\n \tswitch (tx_en_mode) {\n \tcase PORT_HW_CFG_TX_LASER_MDIO:\n@@ -7247,7 +7252,8 @@ static void elink_sfp_e1e2_set_transmitter(struct elink_params *params,\n \t\t\tbreak;\n \t\t}\n \tdefault:\n-\t\tPMD_DRV_LOG(DEBUG, \"Invalid TX_LASER_MDIO 0x%x\", tx_en_mode);\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t\t    \"Invalid TX_LASER_MDIO 0x%x\", tx_en_mode);\n \t\tbreak;\n \t}\n }\n@@ -7256,7 +7262,7 @@ static void elink_sfp_set_transmitter(struct elink_params *params,\n \t\t\t\t      struct elink_phy *phy, uint8_t tx_en)\n {\n \tstruct bnx2x_softc *sc = params->sc;\n-\tPMD_DRV_LOG(DEBUG, \"Setting SFP+ transmitter to %d\", tx_en);\n+\tPMD_DRV_LOG(DEBUG, sc, \"Setting SFP+ transmitter to %d\", tx_en);\n \tif (CHIP_IS_E3(sc))\n \t\telink_sfp_e3_set_transmitter(params, phy, tx_en);\n \telse\n@@ -7277,7 +7283,7 @@ static elink_status_t elink_8726_read_sfp_module_eeprom(struct elink_phy *phy,\n \tuint16_t val = 0;\n \tuint16_t i;\n \tif (byte_cnt > ELINK_SFP_EEPROM_PAGE_SIZE) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Reading from eeprom is limited to 0xf\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Reading from eeprom is limited to 0xf\");\n \t\treturn ELINK_STATUS_ERROR;\n \t}\n \t/* Set the read command byte count */\n@@ -7308,7 +7314,7 @@ static elink_status_t elink_8726_read_sfp_module_eeprom(struct elink_phy *phy,\n \n \tif ((val & MDIO_PMA_REG_SFP_TWO_WIRE_CTRL_STATUS_MASK) !=\n \t    MDIO_PMA_REG_SFP_TWO_WIRE_STATUS_COMPLETE) {\n-\t\tPMD_DRV_LOG(DEBUG,\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t    \"Got bad status 0x%x when reading from SFP+ EEPROM\",\n \t\t\t    (val & MDIO_PMA_REG_SFP_TWO_WIRE_CTRL_STATUS_MASK));\n \t\treturn ELINK_STATUS_ERROR;\n@@ -7349,7 +7355,7 @@ static void elink_warpcore_power_module(struct elink_params *params,\n \n \tif (pin_cfg == PIN_CFG_NA)\n \t\treturn;\n-\tPMD_DRV_LOG(DEBUG, \"Setting SFP+ module power to %d using pin cfg %d\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"Setting SFP+ module power to %d using pin cfg %d\",\n \t\t    power, pin_cfg);\n \t/* Low ==> corresponding SFP+ module is powered\n \t * high ==> the SFP+ module is powered down\n@@ -7374,7 +7380,7 @@ static elink_status_t elink_warpcore_read_sfp_module_eeprom(__rte_unused struct\n \tstruct bnx2x_softc *sc = params->sc;\n \n \tif (byte_cnt > ELINK_SFP_EEPROM_PAGE_SIZE) {\n-\t\tPMD_DRV_LOG(DEBUG,\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t    \"Reading from eeprom is limited to 16 bytes\");\n \t\treturn ELINK_STATUS_ERROR;\n \t}\n@@ -7416,7 +7422,7 @@ static elink_status_t elink_8727_read_sfp_module_eeprom(struct elink_phy *phy,\n \tuint16_t val, i;\n \n \tif (byte_cnt > ELINK_SFP_EEPROM_PAGE_SIZE) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Reading from eeprom is limited to 0xf\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Reading from eeprom is limited to 0xf\");\n \t\treturn ELINK_STATUS_ERROR;\n \t}\n \n@@ -7470,7 +7476,7 @@ static elink_status_t elink_8727_read_sfp_module_eeprom(struct elink_phy *phy,\n \n \tif ((val & MDIO_PMA_REG_SFP_TWO_WIRE_CTRL_STATUS_MASK) !=\n \t    MDIO_PMA_REG_SFP_TWO_WIRE_STATUS_COMPLETE) {\n-\t\tPMD_DRV_LOG(DEBUG,\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t    \"Got bad status 0x%x when reading from SFP+ EEPROM\",\n \t\t\t    (val & MDIO_PMA_REG_SFP_TWO_WIRE_CTRL_STATUS_MASK));\n \t\treturn ELINK_STATUS_TIMEOUT;\n@@ -7511,7 +7517,8 @@ static elink_status_t elink_read_sfp_module_eeprom(struct elink_phy *phy,\n \tread_sfp_module_eeprom_func_p read_func;\n \n \tif ((dev_addr != 0xa0) && (dev_addr != 0xa2)) {\n-\t\tPMD_DRV_LOG(DEBUG, \"invalid dev_addr 0x%x\", dev_addr);\n+\t\tPMD_DRV_LOG(DEBUG, params->sc,\n+\t\t\t    \"invalid dev_addr 0x%x\", dev_addr);\n \t\treturn ELINK_STATUS_ERROR;\n \t}\n \n@@ -7557,7 +7564,7 @@ static elink_status_t elink_get_edc_mode(struct elink_phy *phy,\n \t\t\t\t\t ELINK_I2C_DEV_ADDR_A0,\n \t\t\t\t\t ELINK_SFP_EEPROM_CON_TYPE_ADDR,\n \t\t\t\t\t 2, (uint8_t *) val) != 0) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Failed to read from SFP+ module EEPROM\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Failed to read from SFP+ module EEPROM\");\n \t\treturn ELINK_STATUS_ERROR;\n \t}\n \n@@ -7576,7 +7583,7 @@ static elink_status_t elink_get_edc_mode(struct elink_phy *phy,\n \t\t\t\t\t\t\t 1,\n \t\t\t\t\t\t\t &copper_module_type) !=\n \t\t\t    0) {\n-\t\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t\t    \"Failed to read copper-cable-type\"\n \t\t\t\t\t    \" from SFP+ EEPROM\");\n \t\t\t\treturn ELINK_STATUS_ERROR;\n@@ -7584,7 +7591,7 @@ static elink_status_t elink_get_edc_mode(struct elink_phy *phy,\n \n \t\t\tif (copper_module_type &\n \t\t\t    ELINK_SFP_EEPROM_FC_TX_TECH_BITMASK_COPPER_ACTIVE) {\n-\t\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t\t    \"Active Copper cable detected\");\n \t\t\t\tif (phy->type ==\n \t\t\t\t    PORT_HW_CFG_XGXS_EXT_PHY_TYPE_DIRECT)\n@@ -7594,11 +7601,11 @@ static elink_status_t elink_get_edc_mode(struct elink_phy *phy,\n \t\t\t} else if (copper_module_type &\n \t\t\t\t   ELINK_SFP_EEPROM_FC_TX_TECH_BITMASK_COPPER_PASSIVE)\n \t\t\t{\n-\t\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t\t    \"Passive Copper cable detected\");\n \t\t\t\t*edc_mode = ELINK_EDC_MODE_PASSIVE_DAC;\n \t\t\t} else {\n-\t\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t\t    \"Unknown copper-cable-type 0x%x !!!\",\n \t\t\t\t\t    copper_module_type);\n \t\t\t\treturn ELINK_STATUS_ERROR;\n@@ -7611,7 +7618,7 @@ static elink_status_t elink_get_edc_mode(struct elink_phy *phy,\n \t\tif ((val[1] & (ELINK_SFP_EEPROM_COMP_CODE_SR_MASK |\n \t\t\t       ELINK_SFP_EEPROM_COMP_CODE_LR_MASK |\n \t\t\t       ELINK_SFP_EEPROM_COMP_CODE_LRM_MASK)) == 0) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"1G SFP module detected\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"1G SFP module detected\");\n \t\t\tgport = params->port;\n \t\t\tphy->media_type = ELINK_ETH_PHY_SFP_1G_FIBER;\n \t\t\tif (phy->req_line_speed != ELINK_SPEED_1000) {\n@@ -7627,7 +7634,7 @@ static elink_status_t elink_get_edc_mode(struct elink_phy *phy,\n \t\t\t}\n \t\t} else {\n \t\t\tint idx, cfg_idx = 0;\n-\t\t\tPMD_DRV_LOG(DEBUG, \"10G Optic module detected\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"10G Optic module detected\");\n \t\t\tfor (idx = ELINK_INT_PHY; idx < ELINK_MAX_PHYS; idx++) {\n \t\t\t\tif (params->phy[idx].type == phy->type) {\n \t\t\t\t\tcfg_idx = ELINK_LINK_CONFIG_IDX(idx);\n@@ -7639,7 +7646,7 @@ static elink_status_t elink_get_edc_mode(struct elink_phy *phy,\n \t\t}\n \t\tbreak;\n \tdefault:\n-\t\tPMD_DRV_LOG(DEBUG, \"Unable to determine module type 0x%x !!!\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Unable to determine module type 0x%x !!!\",\n \t\t\t    val[0]);\n \t\treturn ELINK_STATUS_ERROR;\n \t}\n@@ -7669,7 +7676,7 @@ static elink_status_t elink_get_edc_mode(struct elink_phy *phy,\n \t\t\t\t\t\t ELINK_SFP_EEPROM_OPTIONS_ADDR,\n \t\t\t\t\t\t ELINK_SFP_EEPROM_OPTIONS_SIZE,\n \t\t\t\t\t\t options) != 0) {\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t    \"Failed to read Option field from module EEPROM\");\n \t\t\treturn ELINK_STATUS_ERROR;\n \t\t}\n@@ -7678,7 +7685,7 @@ static elink_status_t elink_get_edc_mode(struct elink_phy *phy,\n \t\telse\n \t\t\t*edc_mode = ELINK_EDC_MODE_LIMITING;\n \t}\n-\tPMD_DRV_LOG(DEBUG, \"EDC mode is set to 0x%x\", *edc_mode);\n+\tPMD_DRV_LOG(DEBUG, sc, \"EDC mode is set to 0x%x\", *edc_mode);\n \treturn ELINK_STATUS_OK;\n }\n \n@@ -7700,7 +7707,7 @@ static elink_status_t elink_verify_sfp_module(struct elink_phy *phy,\n \t\t\t      config));\n \tif ((val & PORT_FEAT_CFG_OPT_MDL_ENFRCMNT_MASK) ==\n \t    PORT_FEAT_CFG_OPT_MDL_ENFRCMNT_NO_ENFORCEMENT) {\n-\t\tPMD_DRV_LOG(DEBUG, \"NOT enforcing module verification\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"NOT enforcing module verification\");\n \t\treturn ELINK_STATUS_OK;\n \t}\n \n@@ -7712,21 +7719,21 @@ static elink_status_t elink_verify_sfp_module(struct elink_phy *phy,\n \t\t   ELINK_FEATURE_CONFIG_BC_SUPPORTS_OPT_MDL_VRFY) {\n \t\t/* Use first phy request only in case of non-dual media */\n \t\tif (ELINK_DUAL_MEDIA(params)) {\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t    \"FW does not support OPT MDL verification\");\n \t\t\treturn ELINK_STATUS_ERROR;\n \t\t}\n \t\tcmd = DRV_MSG_CODE_VRFY_FIRST_PHY_OPT_MDL;\n \t} else {\n \t\t/* No support in OPT MDL detection */\n-\t\tPMD_DRV_LOG(DEBUG, \"FW does not support OPT MDL verification\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"FW does not support OPT MDL verification\");\n \t\treturn ELINK_STATUS_ERROR;\n \t}\n \n \tfw_cmd_param = ELINK_FW_PARAM_SET(phy->addr, phy->type, phy->mdio_ctrl);\n \tfw_resp = elink_cb_fw_command(sc, cmd, fw_cmd_param);\n \tif (fw_resp == FW_MSG_CODE_VRFY_OPT_MDL_SUCCESS) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Approved module\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Approved module\");\n \t\treturn ELINK_STATUS_OK;\n \t}\n \n@@ -7782,7 +7789,7 @@ static elink_status_t elink_wait_for_sfp_module_initialized(struct elink_phy\n \t\t\t\t\t\t\t  ELINK_I2C_DEV_ADDR_A0,\n \t\t\t\t\t\t\t  1, 1, &val);\n \t\tif (rc == 0) {\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, params->sc,\n \t\t\t\t    \"SFP+ module initialization took %d ms\",\n \t\t\t\t    timeout * 5);\n \t\t\treturn ELINK_STATUS_OK;\n@@ -7833,17 +7840,18 @@ static elink_status_t elink_8726_set_limiting_mode(struct bnx2x_softc *sc,\n \telink_cl45_read(sc, phy,\n \t\t\tMDIO_PMA_DEVAD,\n \t\t\tMDIO_PMA_REG_ROM_VER2, &cur_limiting_mode);\n-\tPMD_DRV_LOG(DEBUG, \"Current Limiting mode is 0x%x\", cur_limiting_mode);\n+\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t    \"Current Limiting mode is 0x%x\", cur_limiting_mode);\n \n \tif (edc_mode == ELINK_EDC_MODE_LIMITING) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Setting LIMITING MODE\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Setting LIMITING MODE\");\n \t\telink_cl45_write(sc, phy,\n \t\t\t\t MDIO_PMA_DEVAD,\n \t\t\t\t MDIO_PMA_REG_ROM_VER2,\n \t\t\t\t ELINK_EDC_MODE_LIMITING);\n \t} else {\t\t/* LRM mode ( default ) */\n \n-\t\tPMD_DRV_LOG(DEBUG, \"Setting LRM MODE\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Setting LRM MODE\");\n \n \t\t/* Changing to LRM mode takes quite few seconds. So do it only\n \t\t * if current mode is limiting (default is LRM)\n@@ -7933,7 +7941,7 @@ static void elink_8727_specific_func(struct elink_phy *phy,\n \t\t\t\t val);\n \t\tbreak;\n \tdefault:\n-\t\tPMD_DRV_LOG(DEBUG, \"Function 0x%x not supported by 8727\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Function 0x%x not supported by 8727\",\n \t\t\t    action);\n \t\treturn;\n \t}\n@@ -7961,14 +7969,14 @@ static void elink_set_e1e2_module_fault_led(struct elink_params *params,\n \t\t\tuint8_t gpio_port = elink_get_gpio_port(params);\n \t\t\tuint16_t gpio_pin = fault_led_gpio -\n \t\t\t    PORT_HW_CFG_FAULT_MODULE_LED_GPIO0;\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Set fault module-detected led \"\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Set fault module-detected led \"\n \t\t\t\t    \"pin %x port %x mode %x\",\n \t\t\t\t    gpio_pin, gpio_port, gpio_mode);\n \t\t\telink_cb_gpio_write(sc, gpio_pin, gpio_mode, gpio_port);\n \t\t}\n \t\tbreak;\n \tdefault:\n-\t\tPMD_DRV_LOG(DEBUG, \"Error: Invalid fault led mode 0x%x\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Error: Invalid fault led mode 0x%x\",\n \t\t\t    fault_led_gpio);\n \t}\n }\n@@ -7984,7 +7992,7 @@ static void elink_set_e3_module_fault_led(struct elink_params *params,\n \t\t\t\t   dev_info.port_hw_config[port].e3_sfp_ctrl)) &\n \t\t   PORT_HW_CFG_E3_FAULT_MDL_LED_MASK) >>\n \t    PORT_HW_CFG_E3_FAULT_MDL_LED_SHIFT;\n-\tPMD_DRV_LOG(DEBUG, \"Setting Fault LED to %d using pin cfg %d\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"Setting Fault LED to %d using pin cfg %d\",\n \t\t    gpio_mode, pin_cfg);\n \telink_set_cfg_pin(sc, pin_cfg, gpio_mode);\n }\n@@ -7993,7 +8001,8 @@ static void elink_set_sfp_module_fault_led(struct elink_params *params,\n \t\t\t\t\t   uint8_t gpio_mode)\n {\n \tstruct bnx2x_softc *sc = params->sc;\n-\tPMD_DRV_LOG(DEBUG, \"Setting SFP+ module fault LED to %d\", gpio_mode);\n+\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t    \"Setting SFP+ module fault LED to %d\", gpio_mode);\n \tif (CHIP_IS_E3(sc)) {\n \t\t/* Low ==> if SFP+ module is supported otherwise\n \t\t * High ==> if SFP+ module is not on the approved vendor list\n@@ -8020,7 +8029,7 @@ static void elink_warpcore_hw_reset(__rte_unused struct elink_phy *phy,\n static void elink_power_sfp_module(struct elink_params *params,\n \t\t\t\t   struct elink_phy *phy, uint8_t power)\n {\n-\tPMD_DRV_LOG(DEBUG, \"Setting SFP+ power to %x\", power);\n+\tPMD_DRV_LOG(DEBUG, params->sc, \"Setting SFP+ power to %x\", power);\n \n \tswitch (phy->type) {\n \tcase PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BNX2X8727:\n@@ -8106,16 +8115,16 @@ static elink_status_t elink_sfp_module_detection(struct elink_phy *phy,\n \t\t\t\t       config));\n \t/* Enabled transmitter by default */\n \telink_sfp_set_transmitter(params, phy, 1);\n-\tPMD_DRV_LOG(DEBUG, \"SFP+ module plugged in/out detected on port %d\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"SFP+ module plugged in/out detected on port %d\",\n \t\t    params->port);\n \t/* Power up module */\n \telink_power_sfp_module(params, phy, 1);\n \tif (elink_get_edc_mode(phy, params, &edc_mode) != 0) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Failed to get valid module type\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Failed to get valid module type\");\n \t\treturn ELINK_STATUS_ERROR;\n \t} else if (elink_verify_sfp_module(phy, params) != 0) {\n \t\t/* Check SFP+ module compatibility */\n-\t\tPMD_DRV_LOG(DEBUG, \"Module verification failed!!\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Module verification failed!!\");\n \t\trc = ELINK_STATUS_ERROR;\n \t\t/* Turn on fault module-detected led */\n \t\telink_set_sfp_module_fault_led(params,\n@@ -8124,7 +8133,7 @@ static elink_status_t elink_sfp_module_detection(struct elink_phy *phy,\n \t\t/* Check if need to power down the SFP+ module */\n \t\tif ((val & PORT_FEAT_CFG_OPT_MDL_ENFRCMNT_MASK) ==\n \t\t    PORT_FEAT_CFG_OPT_MDL_ENFRCMNT_POWER_DOWN) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Shutdown SFP+ module!!\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Shutdown SFP+ module!!\");\n \t\t\telink_power_sfp_module(params, phy, 0);\n \t\t\treturn rc;\n \t\t}\n@@ -8165,7 +8174,7 @@ void elink_handle_module_detect_int(struct elink_params *params)\n \tif (elink_get_mod_abs_int_cfg(sc, params->shmem_base,\n \t\t\t\t      params->port, &gpio_num, &gpio_port) ==\n \t    ELINK_STATUS_ERROR) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Failed to get MOD_ABS interrupt config\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Failed to get MOD_ABS interrupt config\");\n \t\treturn;\n \t}\n \n@@ -8205,7 +8214,7 @@ void elink_handle_module_detect_int(struct elink_params *params)\n \t\t\t\t}\n \t\t\t}\n \t\t} else {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"SFP+ module is not initialized\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"SFP+ module is not initialized\");\n \t\t}\n \t} else {\n \t\telink_cb_gpio_int_write(sc, gpio_num,\n@@ -8250,7 +8259,7 @@ static uint8_t elink_8706_8726_read_status(struct elink_phy *phy,\n \tuint8_t link_up = 0;\n \tuint16_t val1, val2, rx_sd, pcs_status;\n \tstruct bnx2x_softc *sc = params->sc;\n-\tPMD_DRV_LOG(DEBUG, \"XGXS 8706/8726\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"XGXS 8706/8726\");\n \t/* Clear RX Alarm */\n \telink_cl45_read(sc, phy, MDIO_PMA_DEVAD, MDIO_PMA_LASI_RXSTAT, &val2);\n \n@@ -8260,7 +8269,8 @@ static uint8_t elink_8706_8726_read_status(struct elink_phy *phy,\n \t/* Clear LASI indication */\n \telink_cl45_read(sc, phy, MDIO_PMA_DEVAD, MDIO_PMA_LASI_STAT, &val1);\n \telink_cl45_read(sc, phy, MDIO_PMA_DEVAD, MDIO_PMA_LASI_STAT, &val2);\n-\tPMD_DRV_LOG(DEBUG, \"8706/8726 LASI status 0x%x--> 0x%x\", val1, val2);\n+\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t    \"8706/8726 LASI status 0x%x--> 0x%x\", val1, val2);\n \n \telink_cl45_read(sc, phy, MDIO_PMA_DEVAD, MDIO_PMA_REG_RX_SD, &rx_sd);\n \telink_cl45_read(sc, phy,\n@@ -8268,7 +8278,7 @@ static uint8_t elink_8706_8726_read_status(struct elink_phy *phy,\n \telink_cl45_read(sc, phy, MDIO_AN_DEVAD, MDIO_AN_REG_LINK_STATUS, &val2);\n \telink_cl45_read(sc, phy, MDIO_AN_DEVAD, MDIO_AN_REG_LINK_STATUS, &val2);\n \n-\tPMD_DRV_LOG(DEBUG, \"8706/8726 rx_sd 0x%x pcs_status 0x%x 1Gbps\"\n+\tPMD_DRV_LOG(DEBUG, sc, \"8706/8726 rx_sd 0x%x pcs_status 0x%x 1Gbps\"\n \t\t    \" link_status 0x%x\", rx_sd, pcs_status, val2);\n \t/* Link is up if both bit 0 of pmd_rx_sd and bit 0 of pcs_status\n \t * are set, or if the autoneg bit 1 is set\n@@ -8322,7 +8332,7 @@ static uint8_t elink_8706_config_init(struct elink_phy *phy,\n \t\t\tbreak;\n \t\tDELAY(1000 * 10);\n \t}\n-\tPMD_DRV_LOG(DEBUG, \"XGXS 8706 is initialized after %d ms\", cnt);\n+\tPMD_DRV_LOG(DEBUG, sc, \"XGXS 8706 is initialized after %d ms\", cnt);\n \tif ((params->feature_config_flags &\n \t     ELINK_FEATURE_CONFIG_OVERRIDE_PREEMPHASIS_ENABLED)) {\n \t\tuint8_t i;\n@@ -8336,14 +8346,14 @@ static uint8_t elink_8706_config_init(struct elink_phy *phy,\n \t\t\tval &= ~0x7;\n \t\t\t/* Set control bits according to configuration */\n \t\t\tval |= (phy->rx_preemphasis[i] & 0x7);\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Setting RX Equalizer to BNX2X8706\"\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Setting RX Equalizer to BNX2X8706\"\n \t\t\t\t    \" reg 0x%x <-- val 0x%x\", reg, val);\n \t\t\telink_cl45_write(sc, phy, MDIO_XS_DEVAD, reg, val);\n \t\t}\n \t}\n \t/* Force speed */\n \tif (phy->req_line_speed == ELINK_SPEED_10000) {\n-\t\tPMD_DRV_LOG(DEBUG, \"XGXS 8706 force 10Gbps\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"XGXS 8706 force 10Gbps\");\n \n \t\telink_cl45_write(sc, phy,\n \t\t\t\t MDIO_PMA_DEVAD,\n@@ -8357,7 +8367,7 @@ static uint8_t elink_8706_config_init(struct elink_phy *phy,\n \t\t/* Force 1Gbps using autoneg with 1G advertisement */\n \n \t\t/* Allow CL37 through CL73 */\n-\t\tPMD_DRV_LOG(DEBUG, \"XGXS 8706 AutoNeg\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"XGXS 8706 AutoNeg\");\n \t\telink_cl45_write(sc, phy,\n \t\t\t\t MDIO_AN_DEVAD, MDIO_AN_REG_CL37_CL73, 0x040c);\n \n@@ -8392,7 +8402,7 @@ static uint8_t elink_8706_config_init(struct elink_phy *phy,\n \t& PORT_HW_CFG_TX_LASER_MASK;\n \n \tif (tx_en_mode == PORT_HW_CFG_TX_LASER_GPIO0) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Enabling TXONOFF_PWRDN_DIS\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Enabling TXONOFF_PWRDN_DIS\");\n \t\telink_cl45_read(sc, phy,\n \t\t\t\tMDIO_PMA_DEVAD, MDIO_PMA_REG_DIGITAL_CTRL,\n \t\t\t\t&tmp1);\n@@ -8419,7 +8429,7 @@ static void elink_8726_config_loopback(struct elink_phy *phy,\n \t\t\t\t       struct elink_params *params)\n {\n \tstruct bnx2x_softc *sc = params->sc;\n-\tPMD_DRV_LOG(DEBUG, \"PMA/PMD ext_phy_loopback: 8726\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"PMA/PMD ext_phy_loopback: 8726\");\n \telink_cl45_write(sc, phy, MDIO_PMA_DEVAD, MDIO_PMA_REG_CTRL, 0x0001);\n }\n \n@@ -8471,7 +8481,7 @@ static uint8_t elink_8726_read_status(struct elink_phy *phy,\n \t\t\t\tMDIO_PMA_DEVAD, MDIO_PMA_REG_PHY_IDENTIFIER,\n \t\t\t\t&val1);\n \t\tif (val1 & (1 << 15)) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Tx is disabled\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Tx is disabled\");\n \t\t\tlink_up = 0;\n \t\t\tvars->line_speed = 0;\n \t\t}\n@@ -8484,7 +8494,7 @@ static uint8_t elink_8726_config_init(struct elink_phy *phy,\n \t\t\t\t      struct elink_vars *vars)\n {\n \tstruct bnx2x_softc *sc = params->sc;\n-\tPMD_DRV_LOG(DEBUG, \"Initializing BNX2X8726\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Initializing BNX2X8726\");\n \n \telink_cl45_write(sc, phy, MDIO_PMA_DEVAD, MDIO_PMA_REG_CTRL, 1 << 15);\n \telink_wait_reset_complete(sc, phy, params);\n@@ -8499,7 +8509,7 @@ static uint8_t elink_8726_config_init(struct elink_phy *phy,\n \telink_sfp_module_detection(phy, params);\n \n \tif (phy->req_line_speed == ELINK_SPEED_1000) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Setting 1G force\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Setting 1G force\");\n \t\telink_cl45_write(sc, phy,\n \t\t\t\t MDIO_PMA_DEVAD, MDIO_PMA_REG_CTRL, 0x40);\n \t\telink_cl45_write(sc, phy,\n@@ -8514,7 +8524,7 @@ static uint8_t elink_8726_config_init(struct elink_phy *phy,\n \t\t   ((phy->speed_cap_mask &\n \t\t     PORT_HW_CFG_SPEED_CAPABILITY_D0_10G) !=\n \t\t    PORT_HW_CFG_SPEED_CAPABILITY_D0_10G)) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Setting 1G clause37\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Setting 1G clause37\");\n \t\t/* Set Flow control */\n \t\telink_ext_phy_set_pause(params, phy, vars);\n \t\telink_cl45_write(sc, phy, MDIO_AN_DEVAD, MDIO_AN_REG_ADV, 0x20);\n@@ -8542,7 +8552,7 @@ static uint8_t elink_8726_config_init(struct elink_phy *phy,\n \t/* Set TX PreEmphasis if needed */\n \tif ((params->feature_config_flags &\n \t     ELINK_FEATURE_CONFIG_OVERRIDE_PREEMPHASIS_ENABLED)) {\n-\t\tPMD_DRV_LOG(DEBUG,\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t    \"Setting TX_CTRL1 0x%x, TX_CTRL2 0x%x\",\n \t\t\t    phy->tx_preemphasis[0], phy->tx_preemphasis[1]);\n \t\telink_cl45_write(sc, phy,\n@@ -8564,7 +8574,7 @@ static void elink_8726_link_reset(struct elink_phy *phy,\n \t\t\t\t  struct elink_params *params)\n {\n \tstruct bnx2x_softc *sc = params->sc;\n-\tPMD_DRV_LOG(DEBUG, \"elink_8726_link_reset port %d\", params->port);\n+\tPMD_DRV_LOG(DEBUG, sc, \"elink_8726_link_reset port %d\", params->port);\n \t/* Set serial boot control for external load */\n \telink_cl45_write(sc, phy,\n \t\t\t MDIO_PMA_DEVAD, MDIO_PMA_REG_GEN_CTRL, 0x0001);\n@@ -8637,14 +8647,14 @@ static void elink_8727_config_speed(struct elink_phy *phy,\n \t/* Set option 1G speed */\n \tif ((phy->req_line_speed == ELINK_SPEED_1000) ||\n \t    (phy->media_type == ELINK_ETH_PHY_SFP_1G_FIBER)) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Setting 1G force\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Setting 1G force\");\n \t\telink_cl45_write(sc, phy,\n \t\t\t\t MDIO_PMA_DEVAD, MDIO_PMA_REG_CTRL, 0x40);\n \t\telink_cl45_write(sc, phy,\n \t\t\t\t MDIO_PMA_DEVAD, MDIO_PMA_REG_10G_CTRL2, 0xD);\n \t\telink_cl45_read(sc, phy,\n \t\t\t\tMDIO_PMA_DEVAD, MDIO_PMA_REG_10G_CTRL2, &tmp1);\n-\t\tPMD_DRV_LOG(DEBUG, \"1.7 = 0x%x\", tmp1);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"1.7 = 0x%x\", tmp1);\n \t\t/* Power down the XAUI until link is up in case of dual-media\n \t\t * and 1G\n \t\t */\n@@ -8664,7 +8674,7 @@ static void elink_8727_config_speed(struct elink_phy *phy,\n \t\t     PORT_HW_CFG_SPEED_CAPABILITY_D0_10G) !=\n \t\t    PORT_HW_CFG_SPEED_CAPABILITY_D0_10G)) {\n \n-\t\tPMD_DRV_LOG(DEBUG, \"Setting 1G clause37\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Setting 1G clause37\");\n \t\telink_cl45_write(sc, phy,\n \t\t\t\t MDIO_AN_DEVAD, MDIO_AN_REG_8727_MISC_CTRL, 0);\n \t\telink_cl45_write(sc, phy,\n@@ -8698,7 +8708,7 @@ static uint8_t elink_8727_config_init(struct elink_phy *phy,\n \n \telink_wait_reset_complete(sc, phy, params);\n \n-\tPMD_DRV_LOG(DEBUG, \"Initializing BNX2X8727\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Initializing BNX2X8727\");\n \n \telink_8727_specific_func(phy, params, ELINK_PHY_INIT);\n \t/* Initially configure MOD_ABS to interrupt when module is\n@@ -8731,7 +8741,7 @@ static uint8_t elink_8727_config_init(struct elink_phy *phy,\n \t/* Set TX PreEmphasis if needed */\n \tif ((params->feature_config_flags &\n \t     ELINK_FEATURE_CONFIG_OVERRIDE_PREEMPHASIS_ENABLED)) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Setting TX_CTRL1 0x%x, TX_CTRL2 0x%x\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Setting TX_CTRL1 0x%x, TX_CTRL2 0x%x\",\n \t\t\t    phy->tx_preemphasis[0], phy->tx_preemphasis[1]);\n \t\telink_cl45_write(sc, phy,\n \t\t\t\t MDIO_PMA_DEVAD, MDIO_PMA_REG_8727_TX_CTRL1,\n@@ -8753,7 +8763,7 @@ static uint8_t elink_8727_config_init(struct elink_phy *phy,\n \n \tif (tx_en_mode == PORT_HW_CFG_TX_LASER_GPIO0) {\n \n-\t\tPMD_DRV_LOG(DEBUG, \"Enabling TXONOFF_PWRDN_DIS\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Enabling TXONOFF_PWRDN_DIS\");\n \t\telink_cl45_read(sc, phy,\n \t\t\t\tMDIO_PMA_DEVAD, MDIO_PMA_REG_8727_OPT_CFG_REG,\n \t\t\t\t&tmp2);\n@@ -8785,7 +8795,7 @@ static void elink_8727_handle_mod_abs(struct elink_phy *phy,\n \tif (mod_abs & (1 << 8)) {\n \n \t\t/* Module is absent */\n-\t\tPMD_DRV_LOG(DEBUG, \"MOD_ABS indication show module is absent\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"MOD_ABS indication show module is absent\");\n \t\tphy->media_type = ELINK_ETH_PHY_NOT_PRESENT;\n \t\t/* 1. Set mod_abs to detect next module\n \t\t *    presence event\n@@ -8810,7 +8820,7 @@ static void elink_8727_handle_mod_abs(struct elink_phy *phy,\n \n \t} else {\n \t\t/* Module is present */\n-\t\tPMD_DRV_LOG(DEBUG, \"MOD_ABS indication show module is present\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"MOD_ABS indication show module is present\");\n \t\t/* First disable transmitter, and if the module is ok, the\n \t\t * module_detection will enable it\n \t\t * 1. Set mod_abs to detect next module absent event ( bit 8)\n@@ -8841,14 +8851,14 @@ static void elink_8727_handle_mod_abs(struct elink_phy *phy,\n \t\tif (elink_wait_for_sfp_module_initialized(phy, params) == 0) {\n \t\t\telink_sfp_module_detection(phy, params);\n \t\t} else {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"SFP+ module is not initialized\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"SFP+ module is not initialized\");\n \t\t}\n \n \t\t/* Reconfigure link speed based on module type limitations */\n \t\telink_8727_config_speed(phy, params);\n \t}\n \n-\tPMD_DRV_LOG(DEBUG, \"8727 RX_ALARM_STATUS 0x%x\", rx_alarm_status);\n+\tPMD_DRV_LOG(DEBUG, sc, \"8727 RX_ALARM_STATUS 0x%x\", rx_alarm_status);\n \t/* No need to check link status in case of module plugged in/out */\n }\n \n@@ -8871,14 +8881,14 @@ static uint8_t elink_8727_read_status(struct elink_phy *phy,\n \telink_cl45_read(sc, phy,\n \t\t\tMDIO_PMA_DEVAD, MDIO_PMA_LASI_RXSTAT, &rx_alarm_status);\n \tvars->line_speed = 0;\n-\tPMD_DRV_LOG(DEBUG, \"8727 RX_ALARM_STATUS  0x%x\", rx_alarm_status);\n+\tPMD_DRV_LOG(DEBUG, sc, \"8727 RX_ALARM_STATUS  0x%x\", rx_alarm_status);\n \n \telink_sfp_mask_fault(sc, phy, MDIO_PMA_LASI_TXSTAT,\n \t\t\t     MDIO_PMA_LASI_TXCTRL);\n \n \telink_cl45_read(sc, phy, MDIO_PMA_DEVAD, MDIO_PMA_LASI_STAT, &val1);\n \n-\tPMD_DRV_LOG(DEBUG, \"8727 LASI status 0x%x\", val1);\n+\tPMD_DRV_LOG(DEBUG, sc, \"8727 LASI status 0x%x\", val1);\n \n \t/* Clear MSG-OUT */\n \telink_cl45_read(sc, phy,\n@@ -8896,7 +8906,7 @@ static uint8_t elink_8727_read_status(struct elink_phy *phy,\n \t\tif ((val1 & (1 << 8)) == 0) {\n \t\t\tif (!CHIP_IS_E1x(sc))\n \t\t\t\toc_port = SC_PATH(sc) + (params->port << 1);\n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t    \"8727 Power fault has been detected on port %d\",\n \t\t\t\t    oc_port);\n \t\t\telink_cb_event_log(sc, ELINK_LOG_ID_OVER_CURRENT, oc_port);\t//\"Error: Power fault on Port %d has \"\n@@ -8939,10 +8949,10 @@ static uint8_t elink_8727_read_status(struct elink_phy *phy,\n \t}\n \n \tif (!(phy->flags & ELINK_FLAGS_SFP_NOT_APPROVED)) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Enabling 8727 TX laser\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Enabling 8727 TX laser\");\n \t\telink_sfp_set_transmitter(params, phy, 1);\n \t} else {\n-\t\tPMD_DRV_LOG(DEBUG, \"Tx is disabled\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Tx is disabled\");\n \t\treturn 0;\n \t}\n \n@@ -8956,16 +8966,16 @@ static uint8_t elink_8727_read_status(struct elink_phy *phy,\n \tif ((link_status & (1 << 2)) && (!(link_status & (1 << 15)))) {\n \t\tlink_up = 1;\n \t\tvars->line_speed = ELINK_SPEED_10000;\n-\t\tPMD_DRV_LOG(DEBUG, \"port %x: External link up in 10G\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"port %x: External link up in 10G\",\n \t\t\t    params->port);\n \t} else if ((link_status & (1 << 0)) && (!(link_status & (1 << 13)))) {\n \t\tlink_up = 1;\n \t\tvars->line_speed = ELINK_SPEED_1000;\n-\t\tPMD_DRV_LOG(DEBUG, \"port %x: External link up in 1G\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"port %x: External link up in 1G\",\n \t\t\t    params->port);\n \t} else {\n \t\tlink_up = 0;\n-\t\tPMD_DRV_LOG(DEBUG, \"port %x: External link is down\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"port %x: External link is down\",\n \t\t\t    params->port);\n \t}\n \n@@ -8985,7 +8995,7 @@ static uint8_t elink_8727_read_status(struct elink_phy *phy,\n \tif (link_up) {\n \t\telink_ext_phy_resolve_fc(phy, params, vars);\n \t\tvars->duplex = DUPLEX_FULL;\n-\t\tPMD_DRV_LOG(DEBUG, \"duplex = 0x%x\", vars->duplex);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"duplex = 0x%x\", vars->duplex);\n \t}\n \n \tif ((ELINK_DUAL_MEDIA(params)) &&\n@@ -9057,7 +9067,7 @@ static void elink_save_848xx_spirom_version(struct elink_phy *phy,\n \t\t\tDELAY(5);\n \t\t}\n \t\tif (cnt == 100) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Unable to read 848xx \"\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Unable to read 848xx \"\n \t\t\t\t    \"phy fw version(1)\");\n \t\t\telink_save_spirom_version(sc, port, 0, phy->ver_addr);\n \t\t\treturn;\n@@ -9074,7 +9084,7 @@ static void elink_save_848xx_spirom_version(struct elink_phy *phy,\n \t\t\tDELAY(5);\n \t\t}\n \t\tif (cnt == 100) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Unable to read 848xx phy fw \"\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Unable to read 848xx phy fw \"\n \t\t\t\t    \"version(2)\");\n \t\t\telink_save_spirom_version(sc, port, 0, phy->ver_addr);\n \t\t\treturn;\n@@ -9187,7 +9197,7 @@ static elink_status_t elink_848xx_cmn_config_init(struct elink_phy *phy,\n \t\tautoneg_val |= (1 << 9 | 1 << 12);\n \t\tif (phy->req_duplex == DUPLEX_FULL)\n \t\t\tan_1000_val |= (1 << 9);\n-\t\tPMD_DRV_LOG(DEBUG, \"Advertising 1G\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Advertising 1G\");\n \t} else\n \t\tan_1000_val &= ~((1 << 8) | (1 << 9));\n \n@@ -9203,7 +9213,7 @@ static elink_status_t elink_848xx_cmn_config_init(struct elink_phy *phy,\n \t\t\t */\n \t\t\tautoneg_val |= (1 << 9 | 1 << 12);\n \t\t\tan_10_100_val |= (1 << 8);\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Advertising 100M-FD\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Advertising 100M-FD\");\n \t\t}\n \n \t\tif (phy->speed_cap_mask &\n@@ -9212,7 +9222,7 @@ static elink_status_t elink_848xx_cmn_config_init(struct elink_phy *phy,\n \t\t\t */\n \t\t\tautoneg_val |= (1 << 9 | 1 << 12);\n \t\t\tan_10_100_val |= (1 << 7);\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Advertising 100M-HD\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Advertising 100M-HD\");\n \t\t}\n \n \t\tif ((phy->speed_cap_mask &\n@@ -9220,7 +9230,7 @@ static elink_status_t elink_848xx_cmn_config_init(struct elink_phy *phy,\n \t\t    (phy->supported & ELINK_SUPPORTED_10baseT_Full)) {\n \t\t\tan_10_100_val |= (1 << 6);\n \t\t\tautoneg_val |= (1 << 9 | 1 << 12);\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Advertising 10M-FD\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Advertising 10M-FD\");\n \t\t}\n \n \t\tif ((phy->speed_cap_mask &\n@@ -9228,7 +9238,7 @@ static elink_status_t elink_848xx_cmn_config_init(struct elink_phy *phy,\n \t\t    (phy->supported & ELINK_SUPPORTED_10baseT_Half)) {\n \t\t\tan_10_100_val |= (1 << 5);\n \t\t\tautoneg_val |= (1 << 9 | 1 << 12);\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Advertising 10M-HD\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Advertising 10M-HD\");\n \t\t}\n \t}\n \n@@ -9243,7 +9253,7 @@ static elink_status_t elink_848xx_cmn_config_init(struct elink_phy *phy,\n \t\t\t\t (1 << 15 | 1 << 9 | 7 << 0));\n \t\t/* The PHY needs this set even for forced link. */\n \t\tan_10_100_val |= (1 << 8) | (1 << 7);\n-\t\tPMD_DRV_LOG(DEBUG, \"Setting 100M force\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Setting 100M force\");\n \t}\n \tif ((phy->req_line_speed == ELINK_SPEED_10) &&\n \t    (phy->supported &\n@@ -9252,7 +9262,7 @@ static elink_status_t elink_848xx_cmn_config_init(struct elink_phy *phy,\n \t\telink_cl45_write(sc, phy,\n \t\t\t\t MDIO_AN_DEVAD, MDIO_AN_REG_8481_AUX_CTRL,\n \t\t\t\t (1 << 15 | 1 << 9 | 7 << 0));\n-\t\tPMD_DRV_LOG(DEBUG, \"Setting 10M force\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Setting 10M force\");\n \t}\n \n \telink_cl45_write(sc, phy,\n@@ -9276,7 +9286,7 @@ static elink_status_t elink_848xx_cmn_config_init(struct elink_phy *phy,\n \t     (phy->speed_cap_mask &\n \t      PORT_HW_CFG_SPEED_CAPABILITY_D0_10G)) ||\n \t    (phy->req_line_speed == ELINK_SPEED_10000)) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Advertising 10G\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Advertising 10G\");\n \t\t/* Restart autoneg for 10G */\n \n \t\telink_cl45_read_or_write(sc, phy,\n@@ -9332,7 +9342,7 @@ static elink_status_t elink_84833_cmd_hdlr(struct elink_phy *phy,\n \t\tDELAY(1000 * 1);\n \t}\n \tif (idx >= PHY84833_CMDHDLR_WAIT) {\n-\t\tPMD_DRV_LOG(DEBUG, \"FW cmd: FW not ready.\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"FW cmd: FW not ready.\");\n \t\treturn ELINK_STATUS_ERROR;\n \t}\n \n@@ -9354,7 +9364,7 @@ static elink_status_t elink_84833_cmd_hdlr(struct elink_phy *phy,\n \t}\n \tif ((idx >= PHY84833_CMDHDLR_WAIT) ||\n \t    (val == PHY84833_STATUS_CMD_COMPLETE_ERROR)) {\n-\t\tPMD_DRV_LOG(DEBUG, \"FW cmd failed.\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"FW cmd failed.\");\n \t\treturn ELINK_STATUS_ERROR;\n \t}\n \t/* Gather returning data */\n@@ -9396,7 +9406,7 @@ static elink_status_t elink_84833_pair_swap_cfg(struct elink_phy *phy,\n \t\t\t\t      PHY84833_CMD_SET_PAIR_SWAP, data,\n \t\t\t\t      PHY84833_CMDHDLR_MAX_ARGS);\n \tif (status == ELINK_STATUS_OK) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Pairswap OK, val=0x%x\", data[1]);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Pairswap OK, val=0x%x\", data[1]);\n \t}\n \n \treturn status;\n@@ -9472,7 +9482,8 @@ static void elink_84833_hw_reset_phy(struct elink_phy *phy,\n \telink_cb_gpio_mult_write(sc, reset_gpios,\n \t\t\t\t MISC_REGISTERS_GPIO_OUTPUT_LOW);\n \tDELAY(10);\n-\tPMD_DRV_LOG(DEBUG, \"84833 hw reset on pin values 0x%x\", reset_gpios);\n+\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t    \"84833 hw reset on pin values 0x%x\", reset_gpios);\n }\n \n static elink_status_t elink_8483x_disable_eee(struct elink_phy *phy,\n@@ -9482,13 +9493,13 @@ static elink_status_t elink_8483x_disable_eee(struct elink_phy *phy,\n \telink_status_t rc;\n \tuint16_t cmd_args = 0;\n \n-\tPMD_DRV_LOG(DEBUG, \"Don't Advertise 10GBase-T EEE\");\n+\tPMD_DRV_LOG(DEBUG, params->sc, \"Don't Advertise 10GBase-T EEE\");\n \n \t/* Prevent Phy from working in EEE and advertising it */\n \trc = elink_84833_cmd_hdlr(phy, params,\n \t\t\t\t  PHY84833_CMD_SET_EEE_MODE, &cmd_args, 1);\n \tif (rc != ELINK_STATUS_OK) {\n-\t\tPMD_DRV_LOG(DEBUG, \"EEE disable failed.\");\n+\t\tPMD_DRV_LOG(DEBUG, params->sc, \"EEE disable failed.\");\n \t\treturn rc;\n \t}\n \n@@ -9505,7 +9516,7 @@ static elink_status_t elink_8483x_enable_eee(struct elink_phy *phy,\n \trc = elink_84833_cmd_hdlr(phy, params,\n \t\t\t\t  PHY84833_CMD_SET_EEE_MODE, &cmd_args, 1);\n \tif (rc != ELINK_STATUS_OK) {\n-\t\tPMD_DRV_LOG(DEBUG, \"EEE enable failed.\");\n+\t\tPMD_DRV_LOG(DEBUG, params->sc, \"EEE enable failed.\");\n \t\treturn rc;\n \t}\n \n@@ -9598,7 +9609,7 @@ static uint8_t elink_848x3_config_init(struct elink_phy *phy,\n \n \telink_cl45_write(sc, phy, MDIO_CTL_DEVAD,\n \t\t\t MDIO_CTL_REG_84823_MEDIA, val);\n-\tPMD_DRV_LOG(DEBUG, \"Multi_phy config = 0x%x, Media control = 0x%x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"Multi_phy config = 0x%x, Media control = 0x%x\",\n \t\t    params->multi_phy_config, val);\n \n \tif ((phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BNX2X84833) ||\n@@ -9614,7 +9625,7 @@ static uint8_t elink_848x3_config_init(struct elink_phy *phy,\n \t\t\t\t\t  PHY84833_CMD_SET_EEE_MODE, cmd_args,\n \t\t\t\t\t  PHY84833_CMDHDLR_MAX_ARGS);\n \t\tif (rc != ELINK_STATUS_OK) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Cfg AutogrEEEn failed.\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Cfg AutogrEEEn failed.\");\n \t\t}\n \t}\n \tif (initialize) {\n@@ -9651,7 +9662,7 @@ static uint8_t elink_848x3_config_init(struct elink_phy *phy,\n \t    elink_eee_has_cap(params)) {\n \t\trc = elink_eee_initial_config(params, vars, SHMEM_EEE_10G_ADV);\n \t\tif (rc != ELINK_STATUS_OK) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Failed to configure EEE timers\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Failed to configure EEE timers\");\n \t\t\telink_8483x_disable_eee(phy, params, vars);\n \t\t\treturn rc;\n \t\t}\n@@ -9664,7 +9675,7 @@ static uint8_t elink_848x3_config_init(struct elink_phy *phy,\n \t\telse\n \t\t\trc = elink_8483x_disable_eee(phy, params, vars);\n \t\tif (rc != ELINK_STATUS_OK) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Failed to set EEE advertisement\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Failed to set EEE advertisement\");\n \t\t\treturn rc;\n \t\t}\n \t} else {\n@@ -9696,7 +9707,7 @@ static uint8_t elink_848xx_read_status(struct elink_phy *phy,\n \telink_cl45_read(sc, phy, MDIO_AN_DEVAD, 0xFFFA, &val1);\n \telink_cl45_read(sc, phy,\n \t\t\tMDIO_PMA_DEVAD, MDIO_PMA_REG_8481_PMD_SIGNAL, &val2);\n-\tPMD_DRV_LOG(DEBUG, \"BNX2X848xx: PMD_SIGNAL 1.a811 = 0x%x\", val2);\n+\tPMD_DRV_LOG(DEBUG, sc, \"BNX2X848xx: PMD_SIGNAL 1.a811 = 0x%x\", val2);\n \n \t/* Check link 10G */\n \tif (val2 & (1 << 11)) {\n@@ -9718,7 +9729,8 @@ static uint8_t elink_848xx_read_status(struct elink_phy *phy,\n \t\t\t\tMDIO_AN_REG_8481_EXPANSION_REG_RD_RW,\n \t\t\t\t&legacy_status);\n \n-\t\tPMD_DRV_LOG(DEBUG, \"Legacy speed status = 0x%x\", legacy_status);\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t\t    \"Legacy speed status = 0x%x\", legacy_status);\n \t\tlink_up = ((legacy_status & (1 << 11)) == (1 << 11));\n \t\tlegacy_speed = (legacy_status & (3 << 9));\n \t\tif (legacy_speed == (0 << 9))\n@@ -9748,7 +9760,7 @@ static uint8_t elink_848xx_read_status(struct elink_phy *phy,\n \t\t\telse\n \t\t\t\tvars->duplex = DUPLEX_HALF;\n \n-\t\t\tPMD_DRV_LOG(DEBUG,\n+\t\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t\t    \"Link is up in %dMbps, is_duplex_full= %d\",\n \t\t\t\t    vars->line_speed,\n \t\t\t\t    (vars->duplex == DUPLEX_FULL));\n@@ -9770,7 +9782,7 @@ static uint8_t elink_848xx_read_status(struct elink_phy *phy,\n \t\t}\n \t}\n \tif (link_up) {\n-\t\tPMD_DRV_LOG(DEBUG, \"BNX2X848x3: link speed is %d\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"BNX2X848x3: link speed is %d\",\n \t\t\t    vars->line_speed);\n \t\telink_ext_phy_resolve_fc(phy, params, vars);\n \n@@ -9887,7 +9899,7 @@ static void elink_848xx_set_link_led(struct elink_phy *phy,\n \tswitch (mode) {\n \tcase ELINK_LED_MODE_OFF:\n \n-\t\tPMD_DRV_LOG(DEBUG, \"Port 0x%x: LED MODE OFF\", port);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Port 0x%x: LED MODE OFF\", port);\n \n \t\tif ((params->hw_led_mode << SHARED_HW_CFG_LED_MODE_SHIFT) ==\n \t\t    SHARED_HW_CFG_LED_EXTPHY1) {\n@@ -9917,7 +9929,8 @@ static void elink_848xx_set_link_led(struct elink_phy *phy,\n \t\tbreak;\n \tcase ELINK_LED_MODE_FRONT_PANEL_OFF:\n \n-\t\tPMD_DRV_LOG(DEBUG, \"Port 0x%x: LED MODE FRONT PANEL OFF\", port);\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t\t    \"Port 0x%x: LED MODE FRONT PANEL OFF\", port);\n \n \t\tif ((params->hw_led_mode << SHARED_HW_CFG_LED_MODE_SHIFT) ==\n \t\t    SHARED_HW_CFG_LED_EXTPHY1) {\n@@ -9967,7 +9980,7 @@ static void elink_848xx_set_link_led(struct elink_phy *phy,\n \t\tbreak;\n \tcase ELINK_LED_MODE_ON:\n \n-\t\tPMD_DRV_LOG(DEBUG, \"Port 0x%x: LED MODE ON\", port);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Port 0x%x: LED MODE ON\", port);\n \n \t\tif ((params->hw_led_mode << SHARED_HW_CFG_LED_MODE_SHIFT) ==\n \t\t    SHARED_HW_CFG_LED_EXTPHY1) {\n@@ -10027,7 +10040,7 @@ static void elink_848xx_set_link_led(struct elink_phy *phy,\n \n \tcase ELINK_LED_MODE_OPER:\n \n-\t\tPMD_DRV_LOG(DEBUG, \"Port 0x%x: LED MODE OPER\", port);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Port 0x%x: LED MODE OPER\", port);\n \n \t\tif ((params->hw_led_mode << SHARED_HW_CFG_LED_MODE_SHIFT) ==\n \t\t    SHARED_HW_CFG_LED_EXTPHY1) {\n@@ -10042,7 +10055,7 @@ static void elink_848xx_set_link_led(struct elink_phy *phy,\n \t\t\t      >>\n \t\t\t      MDIO_PMA_REG_8481_LINK_SIGNAL_LED4_ENABLE_SHIFT))\n \t\t\t{\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"Setting LINK_SIGNAL\");\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Setting LINK_SIGNAL\");\n \t\t\t\telink_cl45_write(sc, phy,\n \t\t\t\t\t\t MDIO_PMA_DEVAD,\n \t\t\t\t\t\t MDIO_PMA_REG_8481_LINK_SIGNAL,\n@@ -10155,7 +10168,7 @@ static uint8_t elink_54618se_config_init(struct elink_phy *phy,\n \tuint16_t autoneg_val, an_1000_val, an_10_100_val, fc_val, temp;\n \tuint32_t cfg_pin;\n \n-\tPMD_DRV_LOG(DEBUG, \"54618SE cfg init\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"54618SE cfg init\");\n \tDELAY(1000 * 1);\n \n \t/* This works with E3 only, no need to check the chip\n@@ -10228,7 +10241,7 @@ static uint8_t elink_54618se_config_init(struct elink_phy *phy,\n \t\tautoneg_val |= (1 << 9 | 1 << 12);\n \t\tif (phy->req_duplex == DUPLEX_FULL)\n \t\t\tan_1000_val |= (1 << 9);\n-\t\tPMD_DRV_LOG(DEBUG, \"Advertising 1G\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Advertising 1G\");\n \t} else\n \t\tan_1000_val &= ~((1 << 8) | (1 << 9));\n \n@@ -10241,25 +10254,25 @@ static uint8_t elink_54618se_config_init(struct elink_phy *phy,\n \t\t    PORT_HW_CFG_SPEED_CAPABILITY_D0_10M_HALF) {\n \t\t\tan_10_100_val |= (1 << 5);\n \t\t\tautoneg_val |= (1 << 9 | 1 << 12);\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Advertising 10M-HD\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Advertising 10M-HD\");\n \t\t}\n \t\tif (phy->speed_cap_mask &\n \t\t    PORT_HW_CFG_SPEED_CAPABILITY_D0_10M_HALF) {\n \t\t\tan_10_100_val |= (1 << 6);\n \t\t\tautoneg_val |= (1 << 9 | 1 << 12);\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Advertising 10M-FD\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Advertising 10M-FD\");\n \t\t}\n \t\tif (phy->speed_cap_mask &\n \t\t    PORT_HW_CFG_SPEED_CAPABILITY_D0_100M_HALF) {\n \t\t\tan_10_100_val |= (1 << 7);\n \t\t\tautoneg_val |= (1 << 9 | 1 << 12);\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Advertising 100M-HD\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Advertising 100M-HD\");\n \t\t}\n \t\tif (phy->speed_cap_mask &\n \t\t    PORT_HW_CFG_SPEED_CAPABILITY_D0_100M_FULL) {\n \t\t\tan_10_100_val |= (1 << 8);\n \t\t\tautoneg_val |= (1 << 9 | 1 << 12);\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Advertising 100M-FD\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Advertising 100M-FD\");\n \t\t}\n \t}\n \n@@ -10268,12 +10281,12 @@ static uint8_t elink_54618se_config_init(struct elink_phy *phy,\n \t\tautoneg_val |= (1 << 13);\n \t\t/* Enabled AUTO-MDIX when autoneg is disabled */\n \t\telink_cl22_write(sc, phy, 0x18, (1 << 15 | 1 << 9 | 7 << 0));\n-\t\tPMD_DRV_LOG(DEBUG, \"Setting 100M force\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Setting 100M force\");\n \t}\n \tif (phy->req_line_speed == ELINK_SPEED_10) {\n \t\t/* Enabled AUTO-MDIX when autoneg is disabled */\n \t\telink_cl22_write(sc, phy, 0x18, (1 << 15 | 1 << 9 | 7 << 0));\n-\t\tPMD_DRV_LOG(DEBUG, \"Setting 10M force\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Setting 10M force\");\n \t}\n \n \tif ((phy->flags & ELINK_FLAGS_EEE) && elink_eee_has_cap(params)) {\n@@ -10288,7 +10301,7 @@ static uint8_t elink_54618se_config_init(struct elink_phy *phy,\n \n \t\trc = elink_eee_initial_config(params, vars, SHMEM_EEE_1G_ADV);\n \t\tif (rc != ELINK_STATUS_OK) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Failed to configure EEE timers\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Failed to configure EEE timers\");\n \t\t\telink_eee_disable(phy, params, vars);\n \t\t} else if ((params->eee_mode & ELINK_EEE_MODE_ADV_LPI) &&\n \t\t\t   (phy->req_duplex == DUPLEX_FULL) &&\n@@ -10302,7 +10315,7 @@ static uint8_t elink_54618se_config_init(struct elink_phy *phy,\n \t\t\telink_eee_advertise(phy, params, vars,\n \t\t\t\t\t    SHMEM_EEE_1G_ADV);\n \t\t} else {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Don't Advertise 1GBase-T EEE\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Don't Advertise 1GBase-T EEE\");\n \t\t\telink_eee_disable(phy, params, vars);\n \t\t}\n \t} else {\n@@ -10314,10 +10327,10 @@ static uint8_t elink_54618se_config_init(struct elink_phy *phy,\n \t\t\tif (params->feature_config_flags &\n \t\t\t    ELINK_FEATURE_CONFIG_AUTOGREEEN_ENABLED) {\n \t\t\t\ttemp = 6;\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"Enabling Auto-GrEEEn\");\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Enabling Auto-GrEEEn\");\n \t\t\t} else {\n \t\t\t\ttemp = 0;\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"Don't Adv. EEE\");\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Don't Adv. EEE\");\n \t\t\t}\n \t\t\telink_cl45_write(sc, phy, MDIO_AN_DEVAD,\n \t\t\t\t\t MDIO_AN_REG_EEE_ADV, temp);\n@@ -10345,7 +10358,7 @@ static void elink_5461x_set_link_led(struct elink_phy *phy,\n \telink_cl22_read(sc, phy, MDIO_REG_GPHY_SHADOW, &temp);\n \ttemp &= 0xff00;\n \n-\tPMD_DRV_LOG(DEBUG, \"54618x set link led (mode=%x)\", mode);\n+\tPMD_DRV_LOG(DEBUG, sc, \"54618x set link led (mode=%x)\", mode);\n \tswitch (mode) {\n \tcase ELINK_LED_MODE_FRONT_PANEL_OFF:\n \tcase ELINK_LED_MODE_OFF:\n@@ -10403,7 +10416,7 @@ static uint8_t elink_54618se_read_status(struct elink_phy *phy,\n \n \t/* Get speed operation status */\n \telink_cl22_read(sc, phy, MDIO_REG_GPHY_AUX_STATUS, &legacy_status);\n-\tPMD_DRV_LOG(DEBUG, \"54618SE read_status: 0x%x\", legacy_status);\n+\tPMD_DRV_LOG(DEBUG, sc, \"54618SE read_status: 0x%x\", legacy_status);\n \n \t/* Read status to clear the PHY interrupt. */\n \telink_cl22_read(sc, phy, MDIO_REG_INTR_STATUS, &val);\n@@ -10435,7 +10448,7 @@ static uint8_t elink_54618se_read_status(struct elink_phy *phy,\n \t\t} else\t\t/* Should not happen */\n \t\t\tvars->line_speed = 0;\n \n-\t\tPMD_DRV_LOG(DEBUG,\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t    \"Link is up in %dMbps, is_duplex_full= %d\",\n \t\t\t    vars->line_speed, (vars->duplex == DUPLEX_FULL));\n \n@@ -10449,7 +10462,7 @@ static uint8_t elink_54618se_read_status(struct elink_phy *phy,\n \t\t\tvars->link_status |=\n \t\t\t    LINK_STATUS_PARALLEL_DETECTION_USED;\n \n-\t\tPMD_DRV_LOG(DEBUG, \"BNX2X54618SE: link speed is %d\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"BNX2X54618SE: link speed is %d\",\n \t\t\t    vars->line_speed);\n \n \t\telink_ext_phy_resolve_fc(phy, params, vars);\n@@ -10497,7 +10510,7 @@ static void elink_54618se_config_loopback(struct elink_phy *phy,\n \tuint16_t val;\n \tuint32_t umac_base = params->port ? GRCBASE_UMAC1 : GRCBASE_UMAC0;\n \n-\tPMD_DRV_LOG(DEBUG, \"2PMA/PMD ext_phy_loopback: 54618se\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"2PMA/PMD ext_phy_loopback: 54618se\");\n \n \t/* Enable master/slave manual mmode and set to master */\n \t/* mii write 9 [bits set 11 12] */\n@@ -10548,7 +10561,7 @@ static uint8_t elink_7101_config_init(struct elink_phy *phy,\n {\n \tuint16_t fw_ver1, fw_ver2, val;\n \tstruct bnx2x_softc *sc = params->sc;\n-\tPMD_DRV_LOG(DEBUG, \"Setting the SFX7101 LASI indication\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Setting the SFX7101 LASI indication\");\n \n \t/* Restore normal power mode */\n \telink_cb_gpio_write(sc, MISC_REGISTERS_GPIO_2,\n@@ -10558,7 +10571,7 @@ static uint8_t elink_7101_config_init(struct elink_phy *phy,\n \telink_wait_reset_complete(sc, phy, params);\n \n \telink_cl45_write(sc, phy, MDIO_PMA_DEVAD, MDIO_PMA_LASI_CTRL, 0x1);\n-\tPMD_DRV_LOG(DEBUG, \"Setting the SFX7101 LED to blink on traffic\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Setting the SFX7101 LED to blink on traffic\");\n \telink_cl45_write(sc, phy,\n \t\t\t MDIO_PMA_DEVAD, MDIO_PMA_REG_7107_LED_CNTL, (1 << 3));\n \n@@ -10589,10 +10602,10 @@ static uint8_t elink_7101_read_status(struct elink_phy *phy,\n \tuint16_t val1, val2;\n \telink_cl45_read(sc, phy, MDIO_PMA_DEVAD, MDIO_PMA_LASI_STAT, &val2);\n \telink_cl45_read(sc, phy, MDIO_PMA_DEVAD, MDIO_PMA_LASI_STAT, &val1);\n-\tPMD_DRV_LOG(DEBUG, \"10G-base-T LASI status 0x%x->0x%x\", val2, val1);\n+\tPMD_DRV_LOG(DEBUG, sc, \"10G-base-T LASI status 0x%x->0x%x\", val2, val1);\n \telink_cl45_read(sc, phy, MDIO_PMA_DEVAD, MDIO_PMA_REG_STATUS, &val2);\n \telink_cl45_read(sc, phy, MDIO_PMA_DEVAD, MDIO_PMA_REG_STATUS, &val1);\n-\tPMD_DRV_LOG(DEBUG, \"10G-base-T PMA status 0x%x->0x%x\", val2, val1);\n+\tPMD_DRV_LOG(DEBUG, sc, \"10G-base-T PMA status 0x%x->0x%x\", val2, val1);\n \tlink_up = ((val1 & 4) == 4);\n \t/* If link is up print the AN outcome of the SFX7101 PHY */\n \tif (link_up) {\n@@ -10601,7 +10614,7 @@ static uint8_t elink_7101_read_status(struct elink_phy *phy,\n \t\t\t\t&val2);\n \t\tvars->line_speed = ELINK_SPEED_10000;\n \t\tvars->duplex = DUPLEX_FULL;\n-\t\tPMD_DRV_LOG(DEBUG, \"SFX7101 AN status 0x%x->Master=%x\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"SFX7101 AN status 0x%x->Master=%x\",\n \t\t\t    val2, (val2 & (1 << 14)));\n \t\telink_ext_phy_10G_an_resolve(sc, phy, vars);\n \t\telink_ext_phy_resolve_fc(phy, params, vars);\n@@ -11208,7 +11221,7 @@ static uint32_t elink_get_ext_phy_config(struct bnx2x_softc *sc,\n \t\t\t\t\t\t external_phy_config2));\n \t\tbreak;\n \tdefault:\n-\t\tPMD_DRV_LOG(DEBUG, \"Invalid phy_index %d\", phy_index);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Invalid phy_index %d\", phy_index);\n \t\treturn ELINK_STATUS_ERROR;\n \t}\n \n@@ -11231,7 +11244,7 @@ static elink_status_t elink_populate_int_phy(struct bnx2x_softc *sc,\n \t    (REG_RD(sc, MISC_REG_CHIP_NUM) << 16) |\n \t    ((REG_RD(sc, MISC_REG_CHIP_REV) & 0xf) << 12);\n \n-\tPMD_DRV_LOG(DEBUG, \":chip_id = 0x%x\", chip_id);\n+\tPMD_DRV_LOG(DEBUG, sc, \":chip_id = 0x%x\", chip_id);\n \tif (USES_WARPCORE(sc)) {\n \t\tuint32_t serdes_net_if;\n \t\tphy_addr = REG_RD(sc, MISC_REG_WC0_CTRL_PHY_ADDR);\n@@ -11308,7 +11321,7 @@ static elink_status_t elink_populate_int_phy(struct bnx2x_softc *sc,\n \t\t\tphy->flags &= ~ELINK_FLAGS_TX_ERROR_CHECK;\n \t\t\tbreak;\n \t\tdefault:\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Unknown WC interface type 0x%x\",\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Unknown WC interface type 0x%x\",\n \t\t\t\t    serdes_net_if);\n \t\t\tbreak;\n \t\t}\n@@ -11336,7 +11349,7 @@ static elink_status_t elink_populate_int_phy(struct bnx2x_softc *sc,\n \t\t\t*phy = phy_xgxs;\n \t\t\tbreak;\n \t\tdefault:\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Invalid switch_cfg\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Invalid switch_cfg\");\n \t\t\treturn ELINK_STATUS_ERROR;\n \t\t}\n \t}\n@@ -11349,7 +11362,7 @@ static elink_status_t elink_populate_int_phy(struct bnx2x_softc *sc,\n \telse\n \t\tphy->def_md_devad = ELINK_DEFAULT_PHY_DEV_ADDR;\n \n-\tPMD_DRV_LOG(DEBUG, \"Internal phy port=%d, addr=0x%x, mdio_ctl=0x%x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"Internal phy port=%d, addr=0x%x, mdio_ctl=0x%x\",\n \t\t    port, phy->addr, phy->mdio_ctrl);\n \n \telink_populate_preemphasis(sc, shmem_base, phy, port, ELINK_INT_PHY);\n@@ -11476,9 +11489,9 @@ static elink_status_t elink_populate_ext_phy(struct bnx2x_softc *sc,\n \t\t\t\t\t    ELINK_SUPPORTED_100baseT_Full);\n \t}\n \n-\tPMD_DRV_LOG(DEBUG, \"phy_type 0x%x port %d found in index %d\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"phy_type 0x%x port %d found in index %d\",\n \t\t    phy_type, port, phy_index);\n-\tPMD_DRV_LOG(DEBUG, \"             addr=0x%x, mdio_ctl=0x%x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"             addr=0x%x, mdio_ctl=0x%x\",\n \t\t    phy->addr, phy->mdio_ctrl);\n \treturn ELINK_STATUS_OK;\n }\n@@ -11527,7 +11540,7 @@ static void elink_phy_def_cfg(struct elink_params *params,\n \t\t\t\t\t\t\t speed_capability_mask));\n \t}\n \n-\tPMD_DRV_LOG(DEBUG,\n+\tPMD_DRV_LOG(DEBUG, sc,\n \t\t    \"Default config phy idx %x cfg 0x%x speed_cap_mask 0x%x\",\n \t\t    phy_index, link_config, phy->speed_cap_mask);\n \n@@ -11618,7 +11631,7 @@ elink_status_t elink_phy_probe(struct elink_params * params)\n \tstruct bnx2x_softc *sc = params->sc;\n \tstruct elink_phy *phy;\n \tparams->num_phys = 0;\n-\tPMD_DRV_LOG(DEBUG, \"Begin phy probe\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Begin phy probe\");\n \n \tphy_config_swapped = params->multi_phy_config &\n \t    PORT_HW_CFG_PHY_SWAPPED_ENABLED;\n@@ -11631,7 +11644,7 @@ elink_status_t elink_phy_probe(struct elink_params * params)\n \t\t\telse if (phy_index == ELINK_EXT_PHY2)\n \t\t\t\tactual_phy_idx = ELINK_EXT_PHY1;\n \t\t}\n-\t\tPMD_DRV_LOG(DEBUG, \"phy_config_swapped %x, phy_index %x,\"\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"phy_config_swapped %x, phy_index %x,\"\n \t\t\t    \" actual_phy_idx %x\", phy_config_swapped,\n \t\t\t    phy_index, actual_phy_idx);\n \t\tphy = &params->phy[actual_phy_idx];\n@@ -11639,7 +11652,7 @@ elink_status_t elink_phy_probe(struct elink_params * params)\n \t\t\t\t       params->shmem2_base, params->port,\n \t\t\t\t       phy) != ELINK_STATUS_OK) {\n \t\t\tparams->num_phys = 0;\n-\t\t\tPMD_DRV_LOG(DEBUG, \"phy probe failed in phy index %d\",\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"phy probe failed in phy index %d\",\n \t\t\t\t    phy_index);\n \t\t\tfor (phy_index = ELINK_INT_PHY;\n \t\t\t     phy_index < ELINK_MAX_PHYS; phy_index++)\n@@ -11680,7 +11693,8 @@ elink_status_t elink_phy_probe(struct elink_params * params)\n \t\tparams->num_phys++;\n \t}\n \n-\tPMD_DRV_LOG(DEBUG, \"End phy probe. #phys found %x\", params->num_phys);\n+\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t    \"End phy probe. #phys found %x\", params->num_phys);\n \treturn ELINK_STATUS_OK;\n }\n \n@@ -11850,7 +11864,7 @@ static elink_status_t elink_avoid_link_flap(struct elink_params *params,\n \tfor (phy_idx = ELINK_INT_PHY; phy_idx < params->num_phys; phy_idx++) {\n \t\tstruct elink_phy *phy = &params->phy[phy_idx];\n \t\tif (phy->phy_specific_func) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Calling PHY specific func\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Calling PHY specific func\");\n \t\t\tphy->phy_specific_func(phy, params, ELINK_PHY_INIT);\n \t\t}\n \t\tif ((phy->media_type == ELINK_ETH_PHY_SFPP_10G_FIBER) ||\n@@ -11970,12 +11984,13 @@ elink_status_t elink_phy_init(struct elink_params *params,\n {\n \tint lfa_status;\n \tstruct bnx2x_softc *sc = params->sc;\n-\tPMD_DRV_LOG(DEBUG, \"Phy Initialization started\");\n-\tPMD_DRV_LOG(DEBUG, \"(1) req_speed %d, req_flowctrl %d\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"Phy Initialization started\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"(1) req_speed %d, req_flowctrl %d\",\n \t\t    params->req_line_speed[0], params->req_flow_ctrl[0]);\n-\tPMD_DRV_LOG(DEBUG, \"(2) req_speed %d, req_flowctrl %d\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"(2) req_speed %d, req_flowctrl %d\",\n \t\t    params->req_line_speed[1], params->req_flow_ctrl[1]);\n-\tPMD_DRV_LOG(DEBUG, \"req_adv_flow_ctrl 0x%x\", params->req_fc_auto_adv);\n+\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t    \"req_adv_flow_ctrl 0x%x\", params->req_fc_auto_adv);\n \tvars->link_status = 0;\n \tvars->phy_link_up = 0;\n \tvars->link_up = 0;\n@@ -11992,11 +12007,13 @@ elink_status_t elink_phy_init(struct elink_params *params,\n \tlfa_status = elink_check_lfa(params);\n \n \tif (lfa_status == 0) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Link Flap Avoidance in progress\");\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t\t    \"Link Flap Avoidance in progress\");\n \t\treturn elink_avoid_link_flap(params, vars);\n \t}\n \n-\tPMD_DRV_LOG(DEBUG, \"Cannot avoid link flap lfa_sta=0x%x\", lfa_status);\n+\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t    \"Cannot avoid link flap lfa_sta=0x%x\", lfa_status);\n \telink_cannot_avoid_link_flap(params, vars, lfa_status);\n \n \t/* Disable attentions */\n@@ -12012,12 +12029,12 @@ elink_status_t elink_phy_init(struct elink_params *params,\n \t\tvars->link_status |= LINK_STATUS_PFC_ENABLED;\n \n \tif ((params->num_phys == 0) && !CHIP_REV_IS_SLOW(sc)) {\n-\t\tPMD_DRV_LOG(DEBUG, \"No phy found for initialization !!\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"No phy found for initialization !!\");\n \t\treturn ELINK_STATUS_ERROR;\n \t}\n \tset_phy_vars(params, vars);\n \n-\tPMD_DRV_LOG(DEBUG, \"Num of phys on board: %d\", params->num_phys);\n+\tPMD_DRV_LOG(DEBUG, sc, \"Num of phys on board: %d\", params->num_phys);\n \n \tswitch (params->loopback_mode) {\n \tcase ELINK_LOOPBACK_BMAC:\n@@ -12060,7 +12077,7 @@ static elink_status_t elink_link_reset(struct elink_params *params,\n {\n \tstruct bnx2x_softc *sc = params->sc;\n \tuint8_t phy_index, port = params->port, clear_latch_ind = 0;\n-\tPMD_DRV_LOG(DEBUG, \"Resetting the link of port %d\", port);\n+\tPMD_DRV_LOG(DEBUG, sc, \"Resetting the link of port %d\", port);\n \t/* Disable attentions */\n \tvars->link_status = 0;\n \telink_update_mng(params, vars->link_status);\n@@ -12238,7 +12255,7 @@ static elink_status_t elink_8073_common_init_phy(struct bnx2x_softc *sc,\n \t\tif (elink_populate_phy(sc, phy_index, shmem_base, shmem2_base,\n \t\t\t\t       port_of_path, &phy[port]) !=\n \t\t    ELINK_STATUS_OK) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"populate_phy failed\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"populate_phy failed\");\n \t\t\treturn ELINK_STATUS_ERROR;\n \t\t}\n \t\t/* Disable attentions */\n@@ -12278,7 +12295,7 @@ static elink_status_t elink_8073_common_init_phy(struct bnx2x_softc *sc,\n \t\telse\n \t\t\tport_of_path = 0;\n \n-\t\tPMD_DRV_LOG(DEBUG, \"Loading spirom for phy address 0x%x\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Loading spirom for phy address 0x%x\",\n \t\t\t    phy_blk[port]->addr);\n \t\tif (elink_8073_8727_external_rom_boot(sc, phy_blk[port],\n \t\t\t\t\t\t      port_of_path))\n@@ -12362,7 +12379,7 @@ static elink_status_t elink_8726_common_init_phy(struct bnx2x_softc *sc,\n \t\t/* Extract the ext phy address for the port */\n \t\tif (elink_populate_phy(sc, phy_index, shmem_base, shmem2_base,\n \t\t\t\t       port, &phy) != ELINK_STATUS_OK) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"populate phy failed\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"populate phy failed\");\n \t\t\treturn ELINK_STATUS_ERROR;\n \t\t}\n \n@@ -12482,7 +12499,7 @@ static elink_status_t elink_8727_common_init_phy(struct bnx2x_softc *sc,\n \t\tif (elink_populate_phy(sc, phy_index, shmem_base, shmem2_base,\n \t\t\t\t       port_of_path, &phy[port]) !=\n \t\t    ELINK_STATUS_OK) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"populate phy failed\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"populate phy failed\");\n \t\t\treturn ELINK_STATUS_ERROR;\n \t\t}\n \t\t/* disable attentions */\n@@ -12513,7 +12530,7 @@ static elink_status_t elink_8727_common_init_phy(struct bnx2x_softc *sc,\n \t\t\tport_of_path = port;\n \t\telse\n \t\t\tport_of_path = 0;\n-\t\tPMD_DRV_LOG(DEBUG, \"Loading spirom for phy address 0x%x\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Loading spirom for phy address 0x%x\",\n \t\t\t    phy_blk[port]->addr);\n \t\tif (elink_8073_8727_external_rom_boot(sc, phy_blk[port],\n \t\t\t\t\t\t      port_of_path))\n@@ -12540,7 +12557,8 @@ static elink_status_t elink_84833_common_init_phy(struct bnx2x_softc *sc,\n \tDELAY(10);\n \telink_cb_gpio_mult_write(sc, reset_gpios,\n \t\t\t\t MISC_REGISTERS_GPIO_OUTPUT_HIGH);\n-\tPMD_DRV_LOG(DEBUG, \"84833 reset pulse on pin values 0x%x\", reset_gpios);\n+\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t    \"84833 reset pulse on pin values 0x%x\", reset_gpios);\n \treturn ELINK_STATUS_OK;\n }\n \n@@ -12588,7 +12606,7 @@ static elink_status_t elink_ext_phy_common_init(struct bnx2x_softc *sc,\n \t\trc = ELINK_STATUS_ERROR;\n \t\tbreak;\n \tdefault:\n-\t\tPMD_DRV_LOG(DEBUG,\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n \t\t\t    \"ext_phy 0x%x common init not required\",\n \t\t\t    ext_phy_type);\n \t\tbreak;\n@@ -12614,7 +12632,7 @@ elink_status_t elink_common_init_phy(struct bnx2x_softc * sc,\n \n \telink_set_mdio_clk(sc, GRCBASE_EMAC0);\n \telink_set_mdio_clk(sc, GRCBASE_EMAC1);\n-\tPMD_DRV_LOG(DEBUG, \"Begin common phy init\");\n+\tPMD_DRV_LOG(DEBUG, sc, \"Begin common phy init\");\n \tif (CHIP_IS_E3(sc)) {\n \t\t/* Enable EPIO */\n \t\tval = REG_RD(sc, MISC_REG_GEN_PURP_HWG);\n@@ -12625,7 +12643,7 @@ elink_status_t elink_common_init_phy(struct bnx2x_softc * sc,\n \t\t\t offsetof(struct shmem_region,\n \t\t\t\t  port_mb[PORT_0].ext_phy_fw_version));\n \tif (phy_ver) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Not doing common init; phy ver is 0x%x\",\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Not doing common init; phy ver is 0x%x\",\n \t\t\t    phy_ver);\n \t\treturn ELINK_STATUS_OK;\n \t}\n@@ -12697,15 +12715,15 @@ static uint8_t elink_analyze_link_error(struct elink_params *params,\n \t/* If values differ */\n \tswitch (phy_flag) {\n \tcase PHY_HALF_OPEN_CONN_FLAG:\n-\t\tPMD_DRV_LOG(DEBUG, \"Analyze Remote Fault\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Analyze Remote Fault\");\n \t\tbreak;\n \tcase PHY_SFP_TX_FAULT_FLAG:\n-\t\tPMD_DRV_LOG(DEBUG, \"Analyze TX Fault\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Analyze TX Fault\");\n \t\tbreak;\n \tdefault:\n-\t\tPMD_DRV_LOG(DEBUG, \"Analyze UNKNOWN\");\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Analyze UNKNOWN\");\n \t}\n-\tPMD_DRV_LOG(DEBUG, \"Link changed:[%x %x]->%x\", vars->link_up,\n+\tPMD_DRV_LOG(DEBUG, sc, \"Link changed:[%x %x]->%x\", vars->link_up,\n \t\t    old_status, status);\n \n \t/* a. Update shmem->link_status accordingly\n@@ -12831,7 +12849,7 @@ static void elink_sfp_tx_fault_detection(struct elink_phy *phy,\n \t    PORT_HW_CFG_E3_TX_FAULT_SHIFT;\n \n \tif (elink_get_cfg_pin(sc, cfg_pin, &value)) {\n-\t\tPMD_DRV_LOG(DEBUG, \"Failed to read pin 0x%02x\", cfg_pin);\n+\t\tPMD_DRV_LOG(DEBUG, sc, \"Failed to read pin 0x%02x\", cfg_pin);\n \t\treturn;\n \t}\n \n@@ -12853,7 +12871,7 @@ static void elink_sfp_tx_fault_detection(struct elink_phy *phy,\n \n \t\t/* If module is unapproved, led should be on regardless */\n \t\tif (!(phy->flags & ELINK_FLAGS_SFP_NOT_APPROVED)) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"Change TX_Fault LED: ->%x\",\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Change TX_Fault LED: ->%x\",\n \t\t\t\t    led_mode);\n \t\t\telink_set_e3_module_fault_led(params, led_mode);\n \t\t}\n@@ -12863,7 +12881,7 @@ static void elink_sfp_tx_fault_detection(struct elink_phy *phy,\n static void elink_kr2_recovery(struct elink_params *params,\n \t\t\t       struct elink_vars *vars, struct elink_phy *phy)\n {\n-\tPMD_DRV_LOG(DEBUG, \"KR2 recovery\");\n+\tPMD_DRV_LOG(DEBUG, params->sc, \"KR2 recovery\");\n \n \telink_warpcore_enable_AN_KR2(phy, params, vars);\n \telink_warpcore_restart_AN_KR(phy, params);\n@@ -12890,7 +12908,7 @@ static void elink_check_kr2_wa(struct elink_params *params,\n \tif (!sigdet) {\n \t\tif (!(vars->link_attr_sync & LINK_ATTR_SYNC_KR2_ENABLE)) {\n \t\t\telink_kr2_recovery(params, vars, phy);\n-\t\t\tPMD_DRV_LOG(DEBUG, \"No sigdet\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"No sigdet\");\n \t\t}\n \t\treturn;\n \t}\n@@ -12908,7 +12926,7 @@ static void elink_check_kr2_wa(struct elink_params *params,\n \tif (base_page == 0) {\n \t\tif (!(vars->link_attr_sync & LINK_ATTR_SYNC_KR2_ENABLE)) {\n \t\t\telink_kr2_recovery(params, vars, phy);\n-\t\t\tPMD_DRV_LOG(DEBUG, \"No BP\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"No BP\");\n \t\t}\n \t\treturn;\n \t}\n@@ -12924,7 +12942,7 @@ static void elink_check_kr2_wa(struct elink_params *params,\n \t/* In case KR2 is already disabled, check if we need to re-enable it */\n \tif (!(vars->link_attr_sync & LINK_ATTR_SYNC_KR2_ENABLE)) {\n \t\tif (!not_kr2_device) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"BP=0x%x, NP=0x%x\", base_page,\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"BP=0x%x, NP=0x%x\", base_page,\n \t\t\t\t    next_page);\n \t\t\telink_kr2_recovery(params, vars, phy);\n \t\t}\n@@ -12933,7 +12951,8 @@ static void elink_check_kr2_wa(struct elink_params *params,\n \t/* KR2 is enabled, but not KR2 device */\n \tif (not_kr2_device) {\n \t\t/* Disable KR2 on both lanes */\n-\t\tPMD_DRV_LOG(DEBUG, \"BP=0x%x, NP=0x%x\", base_page, next_page);\n+\t\tPMD_DRV_LOG(DEBUG, sc,\n+\t\t\t    \"BP=0x%x, NP=0x%x\", base_page, next_page);\n \t\telink_disable_kr2(params, vars, phy);\n \t\t/* Restart AN on leading lane */\n \t\telink_warpcore_restart_AN_KR(phy, params);\n@@ -12950,7 +12969,7 @@ void elink_period_func(struct elink_params *params, struct elink_vars *vars)\n \t\t\telink_set_aer_mmd(params, &params->phy[phy_idx]);\n \t\t\tif (elink_check_half_open_conn(params, vars, 1) !=\n \t\t\t    ELINK_STATUS_OK) {\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"Fault detection failed\");\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"Fault detection failed\");\n \t\t\t}\n \t\t\tbreak;\n \t\t}\n@@ -12996,7 +13015,7 @@ uint8_t elink_fan_failure_det_req(struct bnx2x_softc *sc,\n \t\tif (elink_populate_phy(sc, phy_index, shmem_base, shmem2_base,\n \t\t\t\t       port, &phy)\n \t\t    != ELINK_STATUS_OK) {\n-\t\t\tPMD_DRV_LOG(DEBUG, \"populate phy failed\");\n+\t\t\tPMD_DRV_LOG(DEBUG, sc, \"populate phy failed\");\n \t\t\treturn 0;\n \t\t}\n \t\tfan_failure_det_req |= (phy.flags &\n@@ -13046,7 +13065,7 @@ void elink_init_mod_abs_int(struct bnx2x_softc *sc, struct elink_vars *vars,\n \t\t\tif (elink_populate_phy(sc, phy_index, shmem_base,\n \t\t\t\t\t       shmem2_base, port, &phy)\n \t\t\t    != ELINK_STATUS_OK) {\n-\t\t\t\tPMD_DRV_LOG(DEBUG, \"populate phy failed\");\n+\t\t\t\tPMD_DRV_LOG(DEBUG, sc, \"populate phy failed\");\n \t\t\t\treturn;\n \t\t\t}\n \t\t\tif (phy.type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_BNX2X8726) {\n@@ -13076,7 +13095,7 @@ void elink_init_mod_abs_int(struct bnx2x_softc *sc, struct elink_vars *vars,\n \t\t     dev_info.port_hw_config[port].aeu_int_mask);\n \tREG_WR(sc, sync_offset, vars->aeu_int_mask);\n \n-\tPMD_DRV_LOG(DEBUG, \"Setting MOD_ABS (GPIO%d_P%d) AEU to 0x%x\",\n+\tPMD_DRV_LOG(DEBUG, sc, \"Setting MOD_ABS (GPIO%d_P%d) AEU to 0x%x\",\n \t\t    gpio_num, gpio_port, vars->aeu_int_mask);\n \n \tif (port == 0)\n",
    "prefixes": [
        "1/5"
    ]
}