diff options
| author | Miquel Raynal <miquel.raynal@bootlin.com> | 2022-05-20 13:58:54 +0200 | 
|---|---|---|
| committer | Miquel Raynal <miquel.raynal@bootlin.com> | 2022-05-20 13:58:54 +0200 | 
| commit | e6828be5edcfea25cd70a2d1de41085c67ef9fa5 (patch) | |
| tree | 489ae4cdb47a4d83940e2472f49a3c601806b70e /drivers/net/ethernet/intel/ice/ice_lib.c | |
| parent | 1fefc8ecb834c88edfc27e712d683872d0c541dd (diff) | |
| parent | c47452194641b5d27c20e557c84a46c85fd7ce37 (diff) | |
Merge tag 'spi-nor/for-5.19' into mtd/next
SPI NOR core changes:
- Read back written SR value to make sure the write was done correctly.
- Introduce a common function for Read ID that manufacturer drivers can
  use to verify the Octal DTR switch worked correctly.
- Add helpers for read/write any register commands so manufacturer
  drivers don't open code it every time.
- Clarify rdsr dummy cycles documentation.
- Add debugfs entry to expose internal flash parameters and state.
SPI NOR manufacturer drivers changes:
- Add support for Winbond W25Q512NW-IM, and Eon EN25QH256A.
- Move spi_nor_write_ear() to Winbond module since only Winbond flashes
  use it.
- Rework Micron and Cypress Octal DTR enable methods to improve
  readability.
- Use the common Read ID function to verify switch to Octal DTR mode for
  Micron and Cypress flashes.
- Skip polling status on volatile register writes for Micron and Cypress
  flashes since the operation is instant.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_lib.c')
| -rw-r--r-- | drivers/net/ethernet/intel/ice/ice_lib.c | 8 | 
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c index b897926f817d..6d19c58ccacd 100644 --- a/drivers/net/ethernet/intel/ice/ice_lib.c +++ b/drivers/net/ethernet/intel/ice/ice_lib.c @@ -1480,6 +1480,7 @@ static int ice_vsi_alloc_rings(struct ice_vsi *vsi)  		ring->tx_tstamps = &pf->ptp.port.tx;  		ring->dev = dev;  		ring->count = vsi->num_tx_desc; +		ring->txq_teid = ICE_INVAL_TEID;  		if (dvm_ena)  			ring->flags |= ICE_TX_FLAGS_RING_VLAN_L2TAG2;  		else @@ -2688,6 +2689,8 @@ void ice_vsi_free_irq(struct ice_vsi *vsi)  		return;  	vsi->irqs_ready = false; +	ice_free_cpu_rx_rmap(vsi); +  	ice_for_each_q_vector(vsi, i) {  		u16 vector = i + base;  		int irq_num; @@ -2701,7 +2704,8 @@ void ice_vsi_free_irq(struct ice_vsi *vsi)  			continue;  		/* clear the affinity notifier in the IRQ descriptor */ -		irq_set_affinity_notifier(irq_num, NULL); +		if (!IS_ENABLED(CONFIG_RFS_ACCEL)) +			irq_set_affinity_notifier(irq_num, NULL);  		/* clear the affinity_mask in the IRQ descriptor */  		irq_set_affinity_hint(irq_num, NULL); @@ -2983,6 +2987,8 @@ int ice_vsi_release(struct ice_vsi *vsi)  		}  	} +	if (ice_is_vsi_dflt_vsi(pf->first_sw, vsi)) +		ice_clear_dflt_vsi(pf->first_sw);  	ice_fltr_remove_all(vsi);  	ice_rm_vsi_lan_cfg(vsi->port_info, vsi->idx);  	err = ice_rm_vsi_rdma_cfg(vsi->port_info, vsi->idx);  | 
