if_iwm.c (7e565c552a5d3ab1745f5d37c61c51069508f124) if_iwm.c (589526906c3cbae5f1fa38f1b89d614ffe8b4643)
1/* $OpenBSD: if_iwm.c,v 1.167 2017/04/04 00:40:52 claudio Exp $ */
2
3/*
4 * Copyright (c) 2014 genua mbh <info@genua.de>
5 * Copyright (c) 2014 Fixup Software Ltd.
6 *
7 * Permission to use, copy, modify, and distribute this software for any
8 * purpose with or without fee is hereby granted, provided that the above

--- 2197 unchanged lines hidden (view full) ---

2206
2207 /* If no valid mac address was found - bail out */
2208 if (iwm_set_hw_address(sc, data, nvm_hw, mac_override)) {
2209 free(data, M_DEVBUF);
2210 return NULL;
2211 }
2212
2213 if (sc->cfg->device_family == IWM_DEVICE_FAMILY_7000) {
1/* $OpenBSD: if_iwm.c,v 1.167 2017/04/04 00:40:52 claudio Exp $ */
2
3/*
4 * Copyright (c) 2014 genua mbh <info@genua.de>
5 * Copyright (c) 2014 Fixup Software Ltd.
6 *
7 * Permission to use, copy, modify, and distribute this software for any
8 * purpose with or without fee is hereby granted, provided that the above

--- 2197 unchanged lines hidden (view full) ---

2206
2207 /* If no valid mac address was found - bail out */
2208 if (iwm_set_hw_address(sc, data, nvm_hw, mac_override)) {
2209 free(data, M_DEVBUF);
2210 return NULL;
2211 }
2212
2213 if (sc->cfg->device_family == IWM_DEVICE_FAMILY_7000) {
2214 memcpy(data->nvm_ch_flags, &nvm_sw[IWM_NVM_CHANNELS],
2214 memcpy(data->nvm_ch_flags, sc->cfg->nvm_type == IWM_NVM_SDP ?
2215 &regulatory[0] : &nvm_sw[IWM_NVM_CHANNELS],
2215 IWM_NUM_CHANNELS * sizeof(uint16_t));
2216 } else {
2217 memcpy(data->nvm_ch_flags, &regulatory[IWM_NVM_CHANNELS_8000],
2218 IWM_NUM_CHANNELS_8000 * sizeof(uint16_t));
2219 }
2220
2221 return data;
2222}

--- 43 unchanged lines hidden (view full) ---

2266 } else {
2267 panic("unknown device family %d\n", sc->cfg->device_family);
2268 }
2269
2270 hw = (const uint16_t *) sections[sc->cfg->nvm_hw_section_num].data;
2271 sw = (const uint16_t *)sections[IWM_NVM_SECTION_TYPE_SW].data;
2272 calib = (const uint16_t *)
2273 sections[IWM_NVM_SECTION_TYPE_CALIBRATION].data;
2216 IWM_NUM_CHANNELS * sizeof(uint16_t));
2217 } else {
2218 memcpy(data->nvm_ch_flags, &regulatory[IWM_NVM_CHANNELS_8000],
2219 IWM_NUM_CHANNELS_8000 * sizeof(uint16_t));
2220 }
2221
2222 return data;
2223}

--- 43 unchanged lines hidden (view full) ---

2267 } else {
2268 panic("unknown device family %d\n", sc->cfg->device_family);
2269 }
2270
2271 hw = (const uint16_t *) sections[sc->cfg->nvm_hw_section_num].data;
2272 sw = (const uint16_t *)sections[IWM_NVM_SECTION_TYPE_SW].data;
2273 calib = (const uint16_t *)
2274 sections[IWM_NVM_SECTION_TYPE_CALIBRATION].data;
2274 regulatory = (const uint16_t *)
2275 sections[IWM_NVM_SECTION_TYPE_REGULATORY].data;
2275 regulatory = sc->cfg->nvm_type == IWM_NVM_SDP ?
2276 (const uint16_t *)sections[IWM_NVM_SECTION_TYPE_REGULATORY_SDP].data :
2277 (const uint16_t *)sections[IWM_NVM_SECTION_TYPE_REGULATORY].data;
2276 mac_override = (const uint16_t *)
2277 sections[IWM_NVM_SECTION_TYPE_MAC_OVERRIDE].data;
2278 phy_sku = (const uint16_t *)sections[IWM_NVM_SECTION_TYPE_PHY_SKU].data;
2279
2280 return iwm_parse_nvm_data(sc, hw, sw, calib, mac_override,
2281 phy_sku, regulatory);
2282}
2283

--- 4129 unchanged lines hidden ---
2278 mac_override = (const uint16_t *)
2279 sections[IWM_NVM_SECTION_TYPE_MAC_OVERRIDE].data;
2280 phy_sku = (const uint16_t *)sections[IWM_NVM_SECTION_TYPE_PHY_SKU].data;
2281
2282 return iwm_parse_nvm_data(sc, hw, sw, calib, mac_override,
2283 phy_sku, regulatory);
2284}
2285

--- 4129 unchanged lines hidden ---