Lines Matching refs:hba

16 static int ufs_bsg_get_query_desc_size(struct ufs_hba *hba, int *desc_len,  in ufs_bsg_get_query_desc_size()  argument
29 static int ufs_bsg_alloc_desc_buffer(struct ufs_hba *hba, struct bsg_job *job, in ufs_bsg_alloc_desc_buffer() argument
42 if (ufs_bsg_get_query_desc_size(hba, desc_len, qr)) { in ufs_bsg_alloc_desc_buffer()
43 dev_err(hba->dev, "Illegal desc size\n"); in ufs_bsg_alloc_desc_buffer()
48 dev_err(hba->dev, "Illegal desc size\n"); in ufs_bsg_alloc_desc_buffer()
67 static int ufs_bsg_exec_advanced_rpmb_req(struct ufs_hba *hba, struct bsg_job *job) in ufs_bsg_exec_advanced_rpmb_req() argument
79 if (hba->ufs_version < ufshci_version(4, 0) || !hba->dev_info.b_advanced_rpmb_en || in ufs_bsg_exec_advanced_rpmb_req()
80 !(hba->capabilities & MASK_EHSLUTRD_SUPPORTED)) in ufs_bsg_exec_advanced_rpmb_req()
112 sg_cnt = dma_map_sg(hba->host->dma_dev, payload->sg_list, payload->sg_cnt, dir); in ufs_bsg_exec_advanced_rpmb_req()
119 ret = ufshcd_advanced_rpmb_req_handler(hba, &rpmb_request->bsg_request.upiu_req, in ufs_bsg_exec_advanced_rpmb_req()
124 dma_unmap_sg(hba->host->dma_dev, payload->sg_list, payload->sg_cnt, dir); in ufs_bsg_exec_advanced_rpmb_req()
137 struct ufs_hba *hba = shost_priv(dev_to_shost(job->dev->parent)); in ufs_bsg_request() local
148 ufshcd_rpm_get_sync(hba); in ufs_bsg_request()
154 ret = ufs_bsg_alloc_desc_buffer(hba, job, &buff, &desc_len, desc_op); in ufs_bsg_request()
160 ret = ufshcd_exec_raw_upiu_cmd(hba, &bsg_request->upiu_req, in ufs_bsg_request()
164 dev_err(hba->dev, "exe raw upiu: error code %d\n", ret); in ufs_bsg_request()
174 ret = ufshcd_send_uic_cmd(hba, &uc); in ufs_bsg_request()
176 dev_err(hba->dev, "send uic cmd: error code %d\n", ret); in ufs_bsg_request()
183 ret = ufs_bsg_exec_advanced_rpmb_req(hba, job); in ufs_bsg_request()
185 dev_err(hba->dev, "ARPMB OP failed: error code %d\n", ret); in ufs_bsg_request()
189 dev_err(hba->dev, "unsupported msgcode 0x%x\n", msgcode); in ufs_bsg_request()
195 ufshcd_rpm_put_sync(hba); in ufs_bsg_request()
212 void ufs_bsg_remove(struct ufs_hba *hba) in ufs_bsg_remove() argument
214 struct device *bsg_dev = &hba->bsg_dev; in ufs_bsg_remove()
216 if (!hba->bsg_queue) in ufs_bsg_remove()
219 bsg_remove_queue(hba->bsg_queue); in ufs_bsg_remove()
236 int ufs_bsg_probe(struct ufs_hba *hba) in ufs_bsg_probe() argument
238 struct device *bsg_dev = &hba->bsg_dev; in ufs_bsg_probe()
239 struct Scsi_Host *shost = hba->host; in ufs_bsg_probe()
261 hba->bsg_queue = q; in ufs_bsg_probe()