mpi3mr_os.c (8e653455547a471d464cdcfe07f925903cb6f2dd) mpi3mr_os.c (e36710dc06e3994c9abe78b957a07cfd9243a674)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Driver for Broadcom MPI3 Storage Controllers
4 *
5 * Copyright (C) 2017-2021 Broadcom Inc.
6 * (mailto: mpi3mr-linuxdrv.pdl@broadcom.com)
7 *
8 */

--- 1471 unchanged lines hidden (view full) ---

1480 MPI3_CTRL_OP_HIDDEN_ACK);
1481
1482out:
1483 if (tgtdev)
1484 mpi3mr_tgtdev_put(tgtdev);
1485}
1486
1487/**
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Driver for Broadcom MPI3 Storage Controllers
4 *
5 * Copyright (C) 2017-2021 Broadcom Inc.
6 * (mailto: mpi3mr-linuxdrv.pdl@broadcom.com)
7 *
8 */

--- 1471 unchanged lines hidden (view full) ---

1480 MPI3_CTRL_OP_HIDDEN_ACK);
1481
1482out:
1483 if (tgtdev)
1484 mpi3mr_tgtdev_put(tgtdev);
1485}
1486
1487/**
1488 * mpi3mr_energypackchg_evt_th - Energy pack change evt tophalf
1489 * @mrioc: Adapter instance reference
1490 * @event_reply: event data
1491 *
1492 * Identifies the new shutdown timeout value and update.
1493 *
1494 * Return: Nothing
1495 */
1496static void mpi3mr_energypackchg_evt_th(struct mpi3mr_ioc *mrioc,
1497 struct mpi3_event_notification_reply *event_reply)
1498{
1499 struct mpi3_event_data_energy_pack_change *evtdata =
1500 (struct mpi3_event_data_energy_pack_change *)event_reply->event_data;
1501 u16 shutdown_timeout = le16_to_cpu(evtdata->shutdown_timeout);
1502
1503 if (shutdown_timeout <= 0) {
1504 ioc_warn(mrioc,
1505 "%s :Invalid Shutdown Timeout received = %d\n",
1506 __func__, shutdown_timeout);
1507 return;
1508 }
1509
1510 ioc_info(mrioc,
1511 "%s :Previous Shutdown Timeout Value = %d New Shutdown Timeout Value = %d\n",
1512 __func__, mrioc->facts.shutdown_timeout, shutdown_timeout);
1513 mrioc->facts.shutdown_timeout = shutdown_timeout;
1514}
1515
1516/**
1488 * mpi3mr_os_handle_events - Firmware event handler
1489 * @mrioc: Adapter instance reference
1490 * @event_reply: event data
1491 *
1492 * Identify whteher the event has to handled and acknowledged
1493 * and either process the event in the tophalf and/or schedule a
1494 * bottom half through mpi3mr_fwevt_worker.
1495 *

--- 46 unchanged lines hidden (view full) ---

1542 mpi3mr_pcietopochg_evt_th(mrioc, event_reply);
1543 break;
1544 }
1545 case MPI3_EVENT_DEVICE_INFO_CHANGED:
1546 {
1547 process_evt_bh = 1;
1548 break;
1549 }
1517 * mpi3mr_os_handle_events - Firmware event handler
1518 * @mrioc: Adapter instance reference
1519 * @event_reply: event data
1520 *
1521 * Identify whteher the event has to handled and acknowledged
1522 * and either process the event in the tophalf and/or schedule a
1523 * bottom half through mpi3mr_fwevt_worker.
1524 *

--- 46 unchanged lines hidden (view full) ---

1571 mpi3mr_pcietopochg_evt_th(mrioc, event_reply);
1572 break;
1573 }
1574 case MPI3_EVENT_DEVICE_INFO_CHANGED:
1575 {
1576 process_evt_bh = 1;
1577 break;
1578 }
1579 case MPI3_EVENT_ENERGY_PACK_CHANGE:
1580 {
1581 mpi3mr_energypackchg_evt_th(mrioc, event_reply);
1582 break;
1583 }
1550 case MPI3_EVENT_ENCL_DEVICE_STATUS_CHANGE:
1551 case MPI3_EVENT_SAS_DISCOVERY:
1584 case MPI3_EVENT_ENCL_DEVICE_STATUS_CHANGE:
1585 case MPI3_EVENT_SAS_DISCOVERY:
1586 case MPI3_EVENT_CABLE_MGMT:
1552 case MPI3_EVENT_SAS_DEVICE_DISCOVERY_ERROR:
1587 case MPI3_EVENT_SAS_DEVICE_DISCOVERY_ERROR:
1588 case MPI3_EVENT_SAS_BROADCAST_PRIMITIVE:
1553 case MPI3_EVENT_PCIE_ENUMERATION:
1554 break;
1555 default:
1556 ioc_info(mrioc, "%s :event 0x%02x is not handled\n",
1557 __func__, evt_type);
1558 break;
1559 }
1560 if (process_evt_bh || ack_req) {

--- 1093 unchanged lines hidden ---
1589 case MPI3_EVENT_PCIE_ENUMERATION:
1590 break;
1591 default:
1592 ioc_info(mrioc, "%s :event 0x%02x is not handled\n",
1593 __func__, evt_type);
1594 break;
1595 }
1596 if (process_evt_bh || ack_req) {

--- 1093 unchanged lines hidden ---