Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

scsi: ufs-mediatek: add apply_dev_quirks variant operation

Add vendor-specific variant callback "apply_dev_quirks" to MediaTek UFS
driver.

Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Asutosh Das <asutoshd@codeaurora.org>
Cc: Avri Altman <avri.altman@wdc.com>
Cc: Bart Van Assche <bvanassche@acm.org>
Cc: Bean Huo <beanhuo@micron.com>
Cc: Can Guo <cang@codeaurora.org>
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Link: https://lore.kernel.org/r/1578726707-6596-3-git-send-email-stanley.chu@mediatek.com
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Reviewed-by: Bean Huo <beanhuo@micron.com>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

authored by

Stanley Chu and committed by
Martin K. Petersen
ea92c32b c40ad6b7

+11
+11
drivers/scsi/ufs/ufs-mediatek.c
··· 16 16 17 17 #include "ufshcd.h" 18 18 #include "ufshcd-pltfrm.h" 19 + #include "ufs_quirks.h" 19 20 #include "unipro.h" 20 21 #include "ufs-mediatek.h" 21 22 ··· 406 405 return 0; 407 406 } 408 407 408 + static int ufs_mtk_apply_dev_quirks(struct ufs_hba *hba, 409 + struct ufs_dev_desc *card) 410 + { 411 + if (card->wmanufacturerid == UFS_VENDOR_SAMSUNG) 412 + ufshcd_dme_set(hba, UIC_ARG_MIB(PA_TACTIVATE), 6); 413 + 414 + return 0; 415 + } 416 + 409 417 /** 410 418 * struct ufs_hba_mtk_vops - UFS MTK specific variant operations 411 419 * ··· 427 417 .setup_clocks = ufs_mtk_setup_clocks, 428 418 .link_startup_notify = ufs_mtk_link_startup_notify, 429 419 .pwr_change_notify = ufs_mtk_pwr_change_notify, 420 + .apply_dev_quirks = ufs_mtk_apply_dev_quirks, 430 421 .suspend = ufs_mtk_suspend, 431 422 .resume = ufs_mtk_resume, 432 423 .device_reset = ufs_mtk_device_reset,