Bluetooth: btmtksdio: explicitly set WHISR as write-1-clear
That is a preliminary patch to introduce mt7921s support. Explicitly set WHISR as write-1-clear method to all devices that is the expected behavior the driver rely on. Co-developed-by: Mark-yw Chen <mark-yw.chen@mediatek.com> Signed-off-by: Mark-yw Chen <mark-yw.chen@mediatek.com> Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
Родитель
877ec9e1d0
Коммит
77b210d1ae
|
@ -487,8 +487,8 @@ static void btmtksdio_interrupt(struct sdio_func *func)
|
||||||
static int btmtksdio_open(struct hci_dev *hdev)
|
static int btmtksdio_open(struct hci_dev *hdev)
|
||||||
{
|
{
|
||||||
struct btmtksdio_dev *bdev = hci_get_drvdata(hdev);
|
struct btmtksdio_dev *bdev = hci_get_drvdata(hdev);
|
||||||
|
u32 status, val;
|
||||||
int err;
|
int err;
|
||||||
u32 status;
|
|
||||||
|
|
||||||
sdio_claim_host(bdev->func);
|
sdio_claim_host(bdev->func);
|
||||||
|
|
||||||
|
@ -533,8 +533,13 @@ static int btmtksdio_open(struct hci_dev *hdev)
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
goto err_release_irq;
|
goto err_release_irq;
|
||||||
|
|
||||||
/* Setup write-1-clear for CHISR register */
|
/* Explitly set write-1-clear method */
|
||||||
sdio_writel(bdev->func, C_INT_CLR_CTRL, MTK_REG_CHCR, &err);
|
val = sdio_readl(bdev->func, MTK_REG_CHCR, &err);
|
||||||
|
if (err < 0)
|
||||||
|
goto err_release_irq;
|
||||||
|
|
||||||
|
val |= C_INT_CLR_CTRL;
|
||||||
|
sdio_writel(bdev->func, val, MTK_REG_CHCR, &err);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
goto err_release_irq;
|
goto err_release_irq;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче