fwdata
struct cgx_lmac_fwdata_s fwdata;
if (rvu->fwdata) {
rsp->rclk_freq = rvu->fwdata->rclk;
rsp->sclk_freq = rvu->fwdata->sclk;
if (rvu->fwdata)
ptp_start(rvu, rvu->fwdata->sclk, rvu->fwdata->ptp_ext_clk_rate,
rvu->fwdata->ptp_ext_tstamp);
if (rvu->fwdata && rvu->fwdata->msixtr_base)
phy_addr = rvu->fwdata->msixtr_base;
if (rvu->fwdata && pf < PF_MACNUM_MAX) {
mac = &rvu->fwdata->pf_macs[pf];
if (rvu->fwdata && hwvf < VF_MACNUM_MAX) {
mac = &rvu->fwdata->vf_macs[hwvf];
rvu->fwdata = ioremap_wc(fwdbase, sizeof(struct rvu_fwdata));
if (!rvu->fwdata)
iounmap(rvu->fwdata);
rvu->fwdata = NULL;
if (rvu->fwdata)
iounmap(rvu->fwdata);
struct rvu_fwdata *fwdata;
return (rvu->fwdata->header_magic == RVU_FWDATA_HEADER_MAGIC) &&
(rvu->fwdata->version == RVU_FWDATA_VERSION);
if (!rvu->fwdata)
memcpy(&rsp->fwdata,
&rvu->fwdata->cgx_fw_data_usx[cgx_id][lmac_id],
memcpy(&rsp->fwdata,
&rvu->fwdata->cgx_fw_data[cgx_id][lmac_id],
if (!rvu->fwdata)
linkmodes = &rvu->fwdata->cgx_fw_data_usx[cgx_idx][lmac];
linkmodes = &rvu->fwdata->cgx_fw_data[cgx_idx][lmac];
struct cgx_lmac_fwdata_s *fwdata;
if (!rvu->fwdata)
fwdata = &rvu->fwdata->cgx_fw_data_usx[cgx_id][lmac_id];
fwdata = &rvu->fwdata->cgx_fw_data[cgx_id][lmac_id];
fwdata->supported_link_modes);
seq_printf(s, "\t\t Autoneg \t\t :%llx\n", fwdata->supported_an);
seq_printf(s, "\t\t FEC \t\t\t :%llx\n", fwdata->supported_fec);
(u64)fwdata->advertised_link_modes);
seq_printf(s, "\t\t Autoneg \t\t :%x\n", fwdata->advertised_an);
seq_printf(s, "\t\t FEC \t\t\t :%llx\n", fwdata->advertised_fec);
seq_printf(s, "\t\t rw_valid \t\t :%x\n", fwdata->rw_valid);
seq_printf(s, "\t\t lmac_type \t\t :%x\n", fwdata->lmac_type);
seq_printf(s, "\t\t portm_idx \t\t :%x\n", fwdata->portm_idx);
seq_printf(s, "\t\t mgmt_port \t\t :%x\n", fwdata->mgmt_port);
(u64)fwdata->advertised_link_modes_own);
seq_printf(s, "\t\t sff_id \t\t :%x\n", fwdata->sfp_eeprom.sff_id);
seq_printf(s, "%x", fwdata->sfp_eeprom.buf[i]);
phy = &fwdata->phy;
struct rvu_fwdata *fwdata;
if (!rvu->fwdata)
fwdata = rvu->fwdata;
fwdata->ptp_ext_clk_rate);
fwdata->ptp_ext_tstamp);
seq_printf(s, "\t\tValid \t\t\t :%x\n", fwdata->channel_data.valid);
fwdata->channel_data.info.node_id);
fwdata->channel_data.info.max_vfs);
fwdata->channel_data.info.num_pf_rings);
fwdata->channel_data.info.pf_srn);
u64_to_ether_addr(fwdata->pf_macs[i], mac);
u64_to_ether_addr(fwdata->vf_macs[i], mac);
if (!rvu->fwdata)
prfl_addr = rvu->fwdata->mcam_addr;
prfl_sz = rvu->fwdata->mcam_sz;
if (rvu->fwdata && rvu->fwdata->channel_data.valid) {
pfvf->sdp_info = &rvu->fwdata->channel_data.info;
if (rsp->fwdata.supported_fec < OTX2_FEC_MAX_INDEX) {
if (!rsp->fwdata.supported_fec)
fecparam->fec = fec[rsp->fwdata.supported_fec];
if (rsp->fwdata.supported_an)
otx2_get_link_mode_info(rsp->fwdata.advertised_link_modes,
otx2_get_fec_info(rsp->fwdata.advertised_fec,
otx2_get_link_mode_info(rsp->fwdata.supported_link_modes,
otx2_get_fec_info(rsp->fwdata.supported_fec,
if (!IS_ERR(rsp) && rsp->fwdata.phy.misc.has_fec_stats &&
struct fec_stats_s *p = &rsp->fwdata.phy.fec_stats;
if (!IS_ERR(rsp) && rsp->fwdata.phy.misc.has_fec_stats &&
struct fec_stats_s *p = &rsp->fwdata.phy.fec_stats;
struct fwdata *fwdata = cardp->ep_out_buf;
memcpy(&fwdata->hdr, &firmware[cardp->totalbytes],
memcpy(fwdata->data, &firmware[cardp->totalbytes],
le32_to_cpu(fwdata->hdr.datalength));
le32_to_cpu(fwdata->hdr.datalength));
fwdata->seqnum = cpu_to_le32(++cardp->fwseqnum);
cardp->totalbytes += le32_to_cpu(fwdata->hdr.datalength);
usb_tx_block(cardp, cardp->ep_out_buf, sizeof(struct fwdata) +
le32_to_cpu(fwdata->hdr.datalength));
if (fwdata->hdr.dnldcmd == cpu_to_le32(FW_HAS_DATA_TO_RECV)) {
} else if (fwdata->hdr.dnldcmd == cpu_to_le32(FW_HAS_LAST_BLOCK)) {
struct fwdata *fwdata = cardp->ep_out_buf;
memcpy(&fwdata->hdr, &firmware[cardp->totalbytes],
memcpy(fwdata->data, &firmware[cardp->totalbytes],
le32_to_cpu(fwdata->hdr.datalength));
le32_to_cpu(fwdata->hdr.datalength));
fwdata->seqnum = cpu_to_le32(++cardp->fwseqnum);
cardp->totalbytes += le32_to_cpu(fwdata->hdr.datalength);
usb_tx_block(cardp, cardp->ep_out_buf, sizeof(struct fwdata) +
le32_to_cpu(fwdata->hdr.datalength), 0);
if (fwdata->hdr.dnldcmd == cpu_to_le32(FW_HAS_DATA_TO_RECV)) {
} else if (fwdata->hdr.dnldcmd == cpu_to_le32(FW_HAS_LAST_BLOCK)) {
const struct mwifiex_fw_data *fwdata;
if (offset + sizeof(fwdata->header) < sizeof(fwdata->header) ||
offset + sizeof(fwdata->header) >= firmware_len) {
fwdata = firmware + offset;
dnld_cmd = le32_to_cpu(fwdata->header.dnld_cmd);
data_len = le32_to_cpu(fwdata->header.data_length);
offset += sizeof(fwdata->header);
struct fw_data *fwdata;
fwdata = kzalloc(FW_DNLD_TX_BUF_SIZE, GFP_KERNEL);
if (!fwdata) {
memset(&fwdata->fw_hdr, 0, sizeof(struct fw_header));
memcpy(&fwdata->fw_hdr, &firmware[tlen],
dlen = le32_to_cpu(fwdata->fw_hdr.data_len);
dnld_cmd = le32_to_cpu(fwdata->fw_hdr.dnld_cmd);
memcpy(fwdata->data, &firmware[tlen], dlen);
fwdata->seq_num = cpu_to_le32(fw_seqnum);
u8 *buf = (u8 *)fwdata;
kfree(fwdata);
u32 *fwdata;
fwdata = (u32 *)fw->data;
writel_relaxed(be32_to_cpu(fwdata[i]), pdsp->iram + i);