From 9370bb92b2d16684ee45cf24e879c93c509162da Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Thu, 19 Dec 2024 01:47:39 +0000 Subject: [PATCH] add wifi6 8852be driver --- kernel/drivers/video/rockchip/mpp/mpp_vepu1.c | 34 +++++++++------------------------- 1 files changed, 9 insertions(+), 25 deletions(-) diff --git a/kernel/drivers/video/rockchip/mpp/mpp_vepu1.c b/kernel/drivers/video/rockchip/mpp/mpp_vepu1.c index 13eb0cb..18f685a 100644 --- a/kernel/drivers/video/rockchip/mpp/mpp_vepu1.c +++ b/kernel/drivers/video/rockchip/mpp/mpp_vepu1.c @@ -509,7 +509,7 @@ } seq_puts(seq, "\n"); /* item data*/ - seq_printf(seq, "|%8p|", session); + seq_printf(seq, "|%8d|", session->index); seq_printf(seq, "%8s|", mpp_device_name[session->device_type]); for (i = ENC_INFO_BASE; i < ENC_INFO_BUTT; i++) { u32 flag = priv->codec_info[i].flag; @@ -542,7 +542,7 @@ mutex_lock(&mpp->srv->session_lock); list_for_each_entry_safe(session, n, &mpp->srv->session_list, - session_link) { + service_link) { if (session->device_type != MPP_DEVICE_VEPU1) continue; if (!session->priv) @@ -736,12 +736,14 @@ return -ENOMEM; mpp = &enc->mpp; - platform_set_drvdata(pdev, enc); + platform_set_drvdata(pdev, mpp); if (pdev->dev.of_node) { match = of_match_node(mpp_vepu1_dt_match, pdev->dev.of_node); if (match) mpp->var = (struct mpp_dev_var *)match->data; + + mpp->core_id = of_alias_get_id(pdev->dev.of_node, "vepu"); } ret = mpp_dev_probe(mpp, pdev); @@ -772,37 +774,19 @@ static int vepu_remove(struct platform_device *pdev) { struct device *dev = &pdev->dev; - struct vepu_dev *enc = platform_get_drvdata(pdev); + struct mpp_dev *mpp = dev_get_drvdata(dev); dev_info(dev, "remove device\n"); - mpp_dev_remove(&enc->mpp); - vepu_procfs_remove(&enc->mpp); + mpp_dev_remove(mpp); + vepu_procfs_remove(mpp); return 0; -} - -static void vepu_shutdown(struct platform_device *pdev) -{ - int ret; - int val; - struct device *dev = &pdev->dev; - struct vepu_dev *enc = platform_get_drvdata(pdev); - struct mpp_dev *mpp = &enc->mpp; - - dev_info(dev, "shutdown device\n"); - - atomic_inc(&mpp->srv->shutdown_request); - ret = readx_poll_timeout(atomic_read, - &mpp->task_count, - val, val == 0, 20000, 200000); - if (ret == -ETIMEDOUT) - dev_err(dev, "wait total running time out\n"); } struct platform_driver rockchip_vepu1_driver = { .probe = vepu_probe, .remove = vepu_remove, - .shutdown = vepu_shutdown, + .shutdown = mpp_dev_shutdown, .driver = { .name = VEPU1_DRIVER_NAME, .of_match_table = of_match_ptr(mpp_vepu1_dt_match), -- Gitblit v1.6.2