1. 18 4月, 2017 1 次提交
  2. 07 4月, 2017 10 次提交
  3. 05 4月, 2017 1 次提交
  4. 04 4月, 2017 5 次提交
  5. 29 3月, 2017 7 次提交
    • M
      qed: Use BDQ resource for storage protocols · d0d40a73
      Mintz, Yuval 提交于
      Until now, qed used some port-defined value as BDQ index for both iSCSI
      and FCoE.
      
      As management firmware now treats BDQ as a resource and tells each PF
      its BDQ-range, start using a valure from that range instead.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d0d40a73
    • T
      qed: Utilize resource-lock based scheme · 9c8517c4
      Tomer Tayar 提交于
      Management firmware is used as an arbiter between the various PFs
      in matters of resources, but some of the resources that need to
      be divided are dependent on the non-management firmware used,
      so management firmware first needs to be told how many resources
      there are before trying to divide them.
      
      As part of the initialization sequence, driver would first inform
      the management firmware of the available resources under
      a dedicated resource lock, and afterwards request for various
      resources which might be based on the previous set values.
      Signed-off-by: NTomer Tayar <Tomer.Tayar@cavium.com>
      Signed-off-by: NYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9c8517c4
    • T
      qed: Support management-based resource locking · 95691c9c
      Tomer Tayar 提交于
      Global locking can't properly be used to synchronize between different
      PFs in all scenarios, as those instances might reside in different
      logical partitions [e.g., when a PF is assigned via PDA to some VM].
      
      The management firmware provides a generic infrastructure for
      device locks. For each 'resource', it's guaranteed it could be acquired
      by at most a single PF at any given time [or by management firmware].
      
      This patch adds the necessary logic in qed for utilizing said
      infrastructure, implementing lock/unlock internal APIs.
      Signed-off-by: NTomer Tayar <Tomer.Tayar@cavium.com>
      Signed-off-by: NYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      95691c9c
    • M
      qed: Send pf-flr as part of initialization · 18a69e36
      Mintz, Yuval 提交于
      During HW initialization, driver would set various registers to their
      needed values - but it assumes all registers start at their reset-value,
      so there's no need to re-configure a register's default value.
      
      This assumption might be incorrect, e.g., in case of preboot driver
      running and initializing the driver prior to our driver.
      
      To overcome this, we now ask management firmware to initiate a PF-flr
      early during the initialization sequence. That would return everything
      in the PF's scope back to default and prevent previous configurations
      from still being applied.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      18a69e36
    • T
      qed: Move to new load request scheme · 5d24bcf1
      Tomer Tayar 提交于
      Management firmware is used as an arbiter between the various PFs
      in regard to loading - it causes the various PFs to load/unload
      sequentially and informs each of its appropriate rule in the init.
      
      But the existing flow is too weak to handle some scenarios where
      PFs aren't properly cleaned prior to loading.
      The significant scenarios falling under this criteria:
        a. Preboot drivers in some environment can't properly unload.
        b. Unexpected driver replacement [kdump, PDA].
      
      Modern management firmware supports a more intricate loading flow,
      where the driver has the ability to overcome previous limitations.
      This moves qed into using this newer scheme.
      
      Notice new scheme is backward compatible, so new drivers would
      still be able to load properly on top of older management firmwares
      and vice versa.
      Signed-off-by: NTomer Tayar <Tomer.Tayar@cavium.com>
      Signed-off-by: NYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5d24bcf1
    • M
      qed: hw_init() to receive parameter-struct · c0c2d0b4
      Mintz, Yuval 提交于
      We'll soon need additional information, so start by changing
      the infrastructure to receive the initializing variables
      via a parameter struct.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c0c2d0b4
    • T
      qed: Correct HW stop flow · 1226337a
      Tomer Tayar 提交于
      Management firmware is used as arbiter between different PFs
      which are loading/unloading, but in order to use the synchronization
      it offers the contending configurations need to be applied either
      between their LOAD_REQ <-> LOAD_DONE or UNLOAD_REQ <-> UNLOAD_DONE
      management firmware commands.
      
      Existing HW stop flow utilizes 2 different functions: qed_hw_stop() and
      qed_hw_reset() which don't abide this requirement; Most of the closure
      is doing outside the scope of the unload request.
      
      This patch removes qed_hw_reset() and places the relevant stop
      functionality underneath the management firmware protection.
      Signed-off-by: NTomer Tayar <Tomer.Tayar@cavium.com>
      Signed-off-by: NYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1226337a
  6. 24 3月, 2017 6 次提交
  7. 22 3月, 2017 9 次提交
  8. 15 3月, 2017 1 次提交