| .. | .. |
|---|
| 145 | 145 | return cgx->cgx_id; |
|---|
| 146 | 146 | } |
|---|
| 147 | 147 | |
|---|
| 148 | +u8 cgx_lmac_get_p2x(int cgx_id, int lmac_id) |
|---|
| 149 | +{ |
|---|
| 150 | + struct cgx *cgx_dev = cgx_get_pdata(cgx_id); |
|---|
| 151 | + u64 cfg; |
|---|
| 152 | + |
|---|
| 153 | + cfg = cgx_read(cgx_dev, lmac_id, CGXX_CMRX_CFG); |
|---|
| 154 | + |
|---|
| 155 | + return (cfg & CMR_P2X_SEL_MASK) >> CMR_P2X_SEL_SHIFT; |
|---|
| 156 | +} |
|---|
| 157 | + |
|---|
| 148 | 158 | /* Ensure the required lock for event queue(where asynchronous events are |
|---|
| 149 | 159 | * posted) is acquired before calling this API. Else an asynchronous event(with |
|---|
| 150 | 160 | * latest link status) can reach the destination before this function returns |
|---|
| .. | .. |
|---|
| 340 | 350 | |
|---|
| 341 | 351 | cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG); |
|---|
| 342 | 352 | if (enable) |
|---|
| 343 | | - cfg |= CMR_EN | DATA_PKT_RX_EN | DATA_PKT_TX_EN; |
|---|
| 353 | + cfg |= DATA_PKT_RX_EN | DATA_PKT_TX_EN; |
|---|
| 344 | 354 | else |
|---|
| 345 | | - cfg &= ~(CMR_EN | DATA_PKT_RX_EN | DATA_PKT_TX_EN); |
|---|
| 355 | + cfg &= ~(DATA_PKT_RX_EN | DATA_PKT_TX_EN); |
|---|
| 346 | 356 | cgx_write(cgx, lmac_id, CGXX_CMRX_CFG, cfg); |
|---|
| 347 | 357 | return 0; |
|---|
| 348 | 358 | } |
|---|
| .. | .. |
|---|
| 814 | 824 | minor_ver = FIELD_GET(RESP_MINOR_VER, resp); |
|---|
| 815 | 825 | dev_dbg(dev, "Firmware command interface version = %d.%d\n", |
|---|
| 816 | 826 | major_ver, minor_ver); |
|---|
| 817 | | - if (major_ver != CGX_FIRMWARE_MAJOR_VER || |
|---|
| 818 | | - minor_ver != CGX_FIRMWARE_MINOR_VER) |
|---|
| 827 | + if (major_ver != CGX_FIRMWARE_MAJOR_VER) |
|---|
| 819 | 828 | return -EIO; |
|---|
| 820 | 829 | else |
|---|
| 821 | 830 | return 0; |
|---|