igb: move SDP config initialization to separate function

Allow reuse of SDP config struct initialization by moving it to a
separate function.

Signed-off-by: Ruud Bos <kernel.hbk@gmail.com>
Tested-by: Gurucharan G <gurucharanx.g@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
Ruud Bos 2021-10-28 16:34:56 +02:00 committed by Tony Nguyen
parent 9ed319e411
commit 8ab55aba31
1 changed files with 19 additions and 8 deletions

View File

@ -69,6 +69,7 @@
#define IGB_NBITS_82580 40 #define IGB_NBITS_82580 40
static void igb_ptp_tx_hwtstamp(struct igb_adapter *adapter); static void igb_ptp_tx_hwtstamp(struct igb_adapter *adapter);
static void igb_ptp_sdp_init(struct igb_adapter *adapter);
/* SYSTIM read access for the 82576 */ /* SYSTIM read access for the 82576 */
static u64 igb_ptp_read_82576(const struct cyclecounter *cc) static u64 igb_ptp_read_82576(const struct cyclecounter *cc)
@ -1188,7 +1189,6 @@ void igb_ptp_init(struct igb_adapter *adapter)
{ {
struct e1000_hw *hw = &adapter->hw; struct e1000_hw *hw = &adapter->hw;
struct net_device *netdev = adapter->netdev; struct net_device *netdev = adapter->netdev;
int i;
switch (hw->mac.type) { switch (hw->mac.type) {
case e1000_82576: case e1000_82576:
@ -1229,13 +1229,7 @@ void igb_ptp_init(struct igb_adapter *adapter)
break; break;
case e1000_i210: case e1000_i210:
case e1000_i211: case e1000_i211:
for (i = 0; i < IGB_N_SDP; i++) { igb_ptp_sdp_init(adapter);
struct ptp_pin_desc *ppd = &adapter->sdp_config[i];
snprintf(ppd->name, sizeof(ppd->name), "SDP%d", i);
ppd->index = i;
ppd->func = PTP_PF_NONE;
}
snprintf(adapter->ptp_caps.name, 16, "%pm", netdev->dev_addr); snprintf(adapter->ptp_caps.name, 16, "%pm", netdev->dev_addr);
adapter->ptp_caps.owner = THIS_MODULE; adapter->ptp_caps.owner = THIS_MODULE;
adapter->ptp_caps.max_adj = 62499999; adapter->ptp_caps.max_adj = 62499999;
@ -1280,6 +1274,23 @@ void igb_ptp_init(struct igb_adapter *adapter)
} }
} }
/**
* igb_ptp_sdp_init - utility function which inits the SDP config structs
* @adapter: Board private structure.
**/
void igb_ptp_sdp_init(struct igb_adapter *adapter)
{
int i;
for (i = 0; i < IGB_N_SDP; i++) {
struct ptp_pin_desc *ppd = &adapter->sdp_config[i];
snprintf(ppd->name, sizeof(ppd->name), "SDP%d", i);
ppd->index = i;
ppd->func = PTP_PF_NONE;
}
}
/** /**
* igb_ptp_suspend - Disable PTP work items and prepare for suspend * igb_ptp_suspend - Disable PTP work items and prepare for suspend
* @adapter: Board private structure * @adapter: Board private structure