mhi_buf
const struct mhi_buf *mhi_buf)
upper_32_bits(mhi_buf->dma_addr));
lower_32_bits(mhi_buf->dma_addr));
mhi_write_reg(mhi_cntrl, base, BHIE_TXVECSIZE_OFFS, mhi_buf->len);
struct mhi_buf *mhi_buf = img_info->mhi_buf;
const struct mhi_buf *mhi_buf)
mhi_write_reg(mhi_cntrl, base, BHI_IMGADDR_HIGH, upper_32_bits(mhi_buf->dma_addr));
mhi_write_reg(mhi_cntrl, base, BHI_IMGADDR_LOW, lower_32_bits(mhi_buf->dma_addr));
mhi_write_reg(mhi_cntrl, base, BHI_IMGSIZE, mhi_buf->len);
struct mhi_buf *mhi_buf = image_info->mhi_buf;
dma_free_coherent(mhi_cntrl->cntrl_dev, mhi_buf->len, mhi_buf->buf, mhi_buf->dma_addr);
kfree(image_info->mhi_buf);
struct mhi_buf *mhi_buf = image_info->mhi_buf;
for (i = 0; i < image_info->entries; i++, mhi_buf++)
dma_free_coherent(mhi_cntrl->cntrl_dev, mhi_buf->len,
mhi_buf->buf, mhi_buf->dma_addr);
kfree(image_info->mhi_buf);
for (i = 0; i < img_info->entries - 1; i++, mhi_buf++, bhi_vec++) {
struct mhi_buf *mhi_buf;
bhi_vec->dma_addr = cpu_to_le64(mhi_buf->dma_addr);
img_info->mhi_buf = kzalloc_obj(*img_info->mhi_buf);
if (!img_info->mhi_buf)
mhi_buf = img_info->mhi_buf;
mhi_buf->len = alloc_size;
mhi_buf->buf = dma_alloc_coherent(mhi_cntrl->cntrl_dev, mhi_buf->len,
bhi_vec->size = cpu_to_le64(mhi_buf->len);
&mhi_buf->dma_addr, GFP_KERNEL);
if (!mhi_buf->buf)
kfree(mhi_buf);
struct mhi_buf *mhi_buf;
img_info->mhi_buf = kzalloc_objs(*img_info->mhi_buf, segments);
if (!img_info->mhi_buf)
mhi_buf = img_info->mhi_buf;
for (i = 0; i < segments; i++, mhi_buf++) {
mhi_buf->len = vec_size;
mhi_buf->buf = dma_alloc_coherent(mhi_cntrl->cntrl_dev,
vec_size, &mhi_buf->dma_addr,
if (!mhi_buf->buf)
img_info->bhi_vec = img_info->mhi_buf[segments - 1].buf;
upper_32_bits(mhi_buf->dma_addr));
for (--i, --mhi_buf; i >= 0; i--, mhi_buf--)
dma_free_coherent(mhi_cntrl->cntrl_dev, mhi_buf->len,
mhi_buf->buf, mhi_buf->dma_addr);
kfree(img_info->mhi_buf);
struct mhi_buf *mhi_buf = img_info->mhi_buf;
to_cpy = min(remainder, mhi_buf->len);
memcpy(mhi_buf->buf, buf, to_cpy);
bhi_vec->dma_addr = cpu_to_le64(mhi_buf->dma_addr);
mhi_buf++;
lower_32_bits(mhi_buf->dma_addr));
mhi_write_reg(mhi_cntrl, base, BHIE_RXVECSIZE_OFFS, mhi_buf->len);
memcpy(image->mhi_buf->buf, fw_data, size);
ret = mhi_fw_load_bhi(mhi_cntrl, &image->mhi_buf[image->entries - 1]);
ret = mhi_fw_load_bhie(mhi_cntrl, &image->mhi_buf[image->entries - 1]);
&mhi_buf->dma_addr, mhi_buf->len, sequence_id);
&image_info->mhi_buf[image_info->entries - 1]);
if (!fw_img->mhi_buf[i].buf)
paging_tlv_sz += fw_img->mhi_buf[i].len;
if (!rddm_img->mhi_buf[i].buf)
rddm_tlv_sz += rddm_img->mhi_buf[i].len;
if (!fw_img->mhi_buf[i].buf)
memcpy_fromio(buf, (void const __iomem *)fw_img->mhi_buf[i].buf,
fw_img->mhi_buf[i].len);
buf += fw_img->mhi_buf[i].len;
if (!rddm_img->mhi_buf[i].buf)
memcpy_fromio(buf, (void const __iomem *)rddm_img->mhi_buf[i].buf,
rddm_img->mhi_buf[i].len);
buf += rddm_img->mhi_buf[i].len;
if (!fw_img->mhi_buf[i].buf)
paging_tlv_sz += fw_img->mhi_buf[i].len;
if (!rddm_img->mhi_buf[i].buf)
rddm_tlv_sz += rddm_img->mhi_buf[i].len;
if (!fw_img->mhi_buf[i].buf)
memcpy_fromio(buf, (void const __iomem *)fw_img->mhi_buf[i].buf,
fw_img->mhi_buf[i].len);
buf += fw_img->mhi_buf[i].len;
if (!rddm_img->mhi_buf[i].buf)
memcpy_fromio(buf, (void const __iomem *)rddm_img->mhi_buf[i].buf,
rddm_img->mhi_buf[i].len);
buf += rddm_img->mhi_buf[i].len;
struct mhi_buf *mhi_buf;