Skip to content

Commit 77b210d

Browse files
moore-brosholtmann
authored andcommitted
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 <[email protected]> Signed-off-by: Mark-yw Chen <[email protected]> Signed-off-by: Sean Wang <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]>
1 parent 877ec9e commit 77b210d

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

drivers/bluetooth/btmtksdio.c

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -487,8 +487,8 @@ static void btmtksdio_interrupt(struct sdio_func *func)
487487
static int btmtksdio_open(struct hci_dev *hdev)
488488
{
489489
struct btmtksdio_dev *bdev = hci_get_drvdata(hdev);
490+
u32 status, val;
490491
int err;
491-
u32 status;
492492

493493
sdio_claim_host(bdev->func);
494494

@@ -533,8 +533,13 @@ static int btmtksdio_open(struct hci_dev *hdev)
533533
if (err < 0)
534534
goto err_release_irq;
535535

536-
/* Setup write-1-clear for CHISR register */
537-
sdio_writel(bdev->func, C_INT_CLR_CTRL, MTK_REG_CHCR, &err);
536+
/* Explitly set write-1-clear method */
537+
val = sdio_readl(bdev->func, MTK_REG_CHCR, &err);
538+
if (err < 0)
539+
goto err_release_irq;
540+
541+
val |= C_INT_CLR_CTRL;
542+
sdio_writel(bdev->func, val, MTK_REG_CHCR, &err);
538543
if (err < 0)
539544
goto err_release_irq;
540545

0 commit comments

Comments
 (0)