hc
2024-01-04 1543e317f1da31b75942316931e8f491a8920811
kernel/drivers/video/rockchip/mpp/mpp_vepu1.c
....@@ -509,7 +509,7 @@
509509 }
510510 seq_puts(seq, "\n");
511511 /* item data*/
512
- seq_printf(seq, "|%8p|", session);
512
+ seq_printf(seq, "|%8d|", session->index);
513513 seq_printf(seq, "%8s|", mpp_device_name[session->device_type]);
514514 for (i = ENC_INFO_BASE; i < ENC_INFO_BUTT; i++) {
515515 u32 flag = priv->codec_info[i].flag;
....@@ -542,7 +542,7 @@
542542 mutex_lock(&mpp->srv->session_lock);
543543 list_for_each_entry_safe(session, n,
544544 &mpp->srv->session_list,
545
- session_link) {
545
+ service_link) {
546546 if (session->device_type != MPP_DEVICE_VEPU1)
547547 continue;
548548 if (!session->priv)
....@@ -736,12 +736,14 @@
736736 return -ENOMEM;
737737
738738 mpp = &enc->mpp;
739
- platform_set_drvdata(pdev, enc);
739
+ platform_set_drvdata(pdev, mpp);
740740
741741 if (pdev->dev.of_node) {
742742 match = of_match_node(mpp_vepu1_dt_match, pdev->dev.of_node);
743743 if (match)
744744 mpp->var = (struct mpp_dev_var *)match->data;
745
+
746
+ mpp->core_id = of_alias_get_id(pdev->dev.of_node, "vepu");
745747 }
746748
747749 ret = mpp_dev_probe(mpp, pdev);
....@@ -772,37 +774,19 @@
772774 static int vepu_remove(struct platform_device *pdev)
773775 {
774776 struct device *dev = &pdev->dev;
775
- struct vepu_dev *enc = platform_get_drvdata(pdev);
777
+ struct mpp_dev *mpp = dev_get_drvdata(dev);
776778
777779 dev_info(dev, "remove device\n");
778
- mpp_dev_remove(&enc->mpp);
779
- vepu_procfs_remove(&enc->mpp);
780
+ mpp_dev_remove(mpp);
781
+ vepu_procfs_remove(mpp);
780782
781783 return 0;
782
-}
783
-
784
-static void vepu_shutdown(struct platform_device *pdev)
785
-{
786
- int ret;
787
- int val;
788
- struct device *dev = &pdev->dev;
789
- struct vepu_dev *enc = platform_get_drvdata(pdev);
790
- struct mpp_dev *mpp = &enc->mpp;
791
-
792
- dev_info(dev, "shutdown device\n");
793
-
794
- atomic_inc(&mpp->srv->shutdown_request);
795
- ret = readx_poll_timeout(atomic_read,
796
- &mpp->task_count,
797
- val, val == 0, 20000, 200000);
798
- if (ret == -ETIMEDOUT)
799
- dev_err(dev, "wait total running time out\n");
800784 }
801785
802786 struct platform_driver rockchip_vepu1_driver = {
803787 .probe = vepu_probe,
804788 .remove = vepu_remove,
805
- .shutdown = vepu_shutdown,
789
+ .shutdown = mpp_dev_shutdown,
806790 .driver = {
807791 .name = VEPU1_DRIVER_NAME,
808792 .of_match_table = of_match_ptr(mpp_vepu1_dt_match),