Lines Matching defs:hba
16 static int ufs_bsg_get_query_desc_size(struct ufs_hba *hba, int *desc_len,
29 static int ufs_bsg_alloc_desc_buffer(struct ufs_hba *hba, struct bsg_job *job,
42 if (ufs_bsg_get_query_desc_size(hba, desc_len, qr)) {
43 dev_err(hba->dev, "Illegal desc size\n");
48 dev_err(hba->dev, "Illegal desc size\n");
67 static int ufs_bsg_exec_advanced_rpmb_req(struct ufs_hba *hba, struct bsg_job *job)
79 if (hba->ufs_version < ufshci_version(4, 0) || !hba->dev_info.b_advanced_rpmb_en)
111 sg_cnt = dma_map_sg(hba->host->dma_dev, payload->sg_list, payload->sg_cnt, dir);
118 ret = ufshcd_advanced_rpmb_req_handler(hba, &rpmb_request->bsg_request.upiu_req,
123 dma_unmap_sg(hba->host->dma_dev, payload->sg_list, payload->sg_cnt, dir);
136 struct ufs_hba *hba = shost_priv(dev_to_shost(job->dev->parent));
147 ufshcd_rpm_get_sync(hba);
153 ret = ufs_bsg_alloc_desc_buffer(hba, job, &buff, &desc_len, desc_op);
159 ret = ufshcd_exec_raw_upiu_cmd(hba, &bsg_request->upiu_req,
163 dev_err(hba->dev, "exe raw upiu: error code %d\n", ret);
173 ret = ufshcd_send_bsg_uic_cmd(hba, &uc);
175 dev_err(hba->dev, "send uic cmd: error code %d\n", ret);
182 ret = ufs_bsg_exec_advanced_rpmb_req(hba, job);
184 dev_err(hba->dev, "ARPMB OP failed: error code %d\n", ret);
188 dev_err(hba->dev, "unsupported msgcode 0x%x\n", msgcode);
194 ufshcd_rpm_put_sync(hba);
209 * @hba: per adapter object
213 void ufs_bsg_remove(struct ufs_hba *hba)
215 struct device *bsg_dev = &hba->bsg_dev;
217 if (!hba->bsg_queue)
220 bsg_remove_queue(hba->bsg_queue);
221 hba->bsg_queue = NULL;
234 * @hba: per adapter object
240 int ufs_bsg_probe(struct ufs_hba *hba)
242 struct device *bsg_dev = &hba->bsg_dev;
243 struct Scsi_Host *shost = hba->host;
267 hba->bsg_queue = q;