en_arch
edcp->edc_max_vi_count + enp->en_arch.ef10.ena_piobuf_count;
enp->en_arch.ef10.ena_vi_base = vi_base;
enp->en_arch.ef10.ena_vi_count = vi_count;
enp->en_arch.ef10.ena_vi_shift = vi_shift;
if (vi_count < min_vi_count + enp->en_arch.ef10.ena_piobuf_count) {
enp->en_arch.ef10.ena_pio_write_vi_base =
vi_count - enp->en_arch.ef10.ena_piobuf_count;
enp->en_arch.ef10.ena_uc_mem_map_offset = 0;
if (enp->en_arch.ef10.ena_piobuf_count > 0) {
enp->en_arch.ef10.ena_uc_mem_map_size =
enp->en_arch.ef10.ena_pio_write_vi_base);
enp->en_arch.ef10.ena_uc_mem_map_size =
enp->en_arch.ef10.ena_vi_count);
enp->en_arch.ef10.ena_wc_mem_map_offset =
enp->en_arch.ef10.ena_uc_mem_map_offset +
enp->en_arch.ef10.ena_uc_mem_map_size;
enp->en_arch.ef10.ena_wc_mem_map_size =
enp->en_arch.ef10.ena_piobuf_count);
if (enp->en_arch.ef10.ena_piobuf_count > 0) {
for (i = 0; i < enp->en_arch.ef10.ena_piobuf_count; i++) {
enp->en_arch.ef10.ena_pio_write_vi_base + i,
enp->en_arch.ef10.ena_piobuf_handle[i]);
*vi_countp = enp->en_arch.ef10.ena_pio_write_vi_base;
*offsetp = enp->en_arch.ef10.ena_uc_mem_map_offset;
*sizep = enp->en_arch.ef10.ena_uc_mem_map_size;
*offsetp = enp->en_arch.ef10.ena_wc_mem_map_offset;
*sizep = enp->en_arch.ef10.ena_wc_mem_map_size;
if (enp->en_arch.ef10.ena_piobuf_count > 0) {
for (i = 0; i < enp->en_arch.ef10.ena_piobuf_count; i++) {
enp->en_arch.ef10.ena_pio_write_vi_base + i);
enp->en_arch.ef10.ena_vi_count = 0;
EFX_ARRAY_SIZE(enp->en_arch.ef10.ena_piobuf_handle));
enp->en_arch.ef10.ena_piobuf_count = 0;
handlep = &enp->en_arch.ef10.ena_piobuf_handle[i];
enp->en_arch.ef10.ena_pio_alloc_map[i] = 0;
enp->en_arch.ef10.ena_piobuf_count++;
for (i = 0; i < enp->en_arch.ef10.ena_piobuf_count; i++) {
handlep = &enp->en_arch.ef10.ena_piobuf_handle[i];
enp->en_arch.ef10.ena_piobuf_count = 0;
for (i = 0; i < enp->en_arch.ef10.ena_piobuf_count; i++) {
handlep = &enp->en_arch.ef10.ena_piobuf_handle[i];
enp->en_arch.ef10.ena_piobuf_count = 0;
(enp->en_arch.ef10.ena_piobuf_count == 0)) {
for (buf = 0; buf < enp->en_arch.ef10.ena_piobuf_count; buf++) {
uint32_t *map = &enp->en_arch.ef10.ena_pio_alloc_map[buf];
*handlep = enp->en_arch.ef10.ena_piobuf_handle[buf];
if ((bufnum >= enp->en_arch.ef10.ena_piobuf_count) ||
map = &enp->en_arch.ef10.ena_pio_alloc_map[bufnum];
if (enp->en_arch.ef10.ena_svpd_length == 0)
enp->en_arch.ef10.ena_svpd,
enp->en_arch.ef10.ena_svpd_length, &stag, &skey,
if (enp->en_arch.ef10.ena_svpd_length == 0)
rc = efx_vpd_hunk_get(enp->en_arch.ef10.ena_svpd,
enp->en_arch.ef10.ena_svpd_length,
if (enp->en_arch.ef10.ena_svpd_length > 0) {
if ((rc = efx_vpd_hunk_get(enp->en_arch.ef10.ena_svpd,
enp->en_arch.ef10.ena_svpd_length, evvp->evv_tag,
enp->en_arch.ef10.ena_svpd + offset, length);
if (enp->en_arch.ef10.ena_svpd_length > 0) {
if ((rc = efx_vpd_hunk_get(enp->en_arch.ef10.ena_svpd,
enp->en_arch.ef10.ena_svpd_length, evvp->evv_tag,
if (enp->en_arch.ef10.ena_svpd_length > 0) {
EFSYS_KMEM_FREE(enp->en_esip, enp->en_arch.ef10.ena_svpd_length,
enp->en_arch.ef10.ena_svpd);
enp->en_arch.ef10.ena_svpd = NULL;
enp->en_arch.ef10.ena_svpd_length = 0;
enp->en_arch.ef10.ena_svpd = svpd;
enp->en_arch.ef10.ena_svpd_length = svpd_size;
} en_arch;