| .. | .. |
|---|
| 509 | 509 | } |
|---|
| 510 | 510 | seq_puts(seq, "\n"); |
|---|
| 511 | 511 | /* item data*/ |
|---|
| 512 | | - seq_printf(seq, "|%8p|", session); |
|---|
| 512 | + seq_printf(seq, "|%8d|", session->index); |
|---|
| 513 | 513 | seq_printf(seq, "%8s|", mpp_device_name[session->device_type]); |
|---|
| 514 | 514 | for (i = ENC_INFO_BASE; i < ENC_INFO_BUTT; i++) { |
|---|
| 515 | 515 | u32 flag = priv->codec_info[i].flag; |
|---|
| .. | .. |
|---|
| 542 | 542 | mutex_lock(&mpp->srv->session_lock); |
|---|
| 543 | 543 | list_for_each_entry_safe(session, n, |
|---|
| 544 | 544 | &mpp->srv->session_list, |
|---|
| 545 | | - session_link) { |
|---|
| 545 | + service_link) { |
|---|
| 546 | 546 | if (session->device_type != MPP_DEVICE_VEPU1) |
|---|
| 547 | 547 | continue; |
|---|
| 548 | 548 | if (!session->priv) |
|---|
| .. | .. |
|---|
| 736 | 736 | return -ENOMEM; |
|---|
| 737 | 737 | |
|---|
| 738 | 738 | mpp = &enc->mpp; |
|---|
| 739 | | - platform_set_drvdata(pdev, enc); |
|---|
| 739 | + platform_set_drvdata(pdev, mpp); |
|---|
| 740 | 740 | |
|---|
| 741 | 741 | if (pdev->dev.of_node) { |
|---|
| 742 | 742 | match = of_match_node(mpp_vepu1_dt_match, pdev->dev.of_node); |
|---|
| 743 | 743 | if (match) |
|---|
| 744 | 744 | mpp->var = (struct mpp_dev_var *)match->data; |
|---|
| 745 | + |
|---|
| 746 | + mpp->core_id = of_alias_get_id(pdev->dev.of_node, "vepu"); |
|---|
| 745 | 747 | } |
|---|
| 746 | 748 | |
|---|
| 747 | 749 | ret = mpp_dev_probe(mpp, pdev); |
|---|
| .. | .. |
|---|
| 772 | 774 | static int vepu_remove(struct platform_device *pdev) |
|---|
| 773 | 775 | { |
|---|
| 774 | 776 | struct device *dev = &pdev->dev; |
|---|
| 775 | | - struct vepu_dev *enc = platform_get_drvdata(pdev); |
|---|
| 777 | + struct mpp_dev *mpp = dev_get_drvdata(dev); |
|---|
| 776 | 778 | |
|---|
| 777 | 779 | 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); |
|---|
| 780 | 782 | |
|---|
| 781 | 783 | 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"); |
|---|
| 800 | 784 | } |
|---|
| 801 | 785 | |
|---|
| 802 | 786 | struct platform_driver rockchip_vepu1_driver = { |
|---|
| 803 | 787 | .probe = vepu_probe, |
|---|
| 804 | 788 | .remove = vepu_remove, |
|---|
| 805 | | - .shutdown = vepu_shutdown, |
|---|
| 789 | + .shutdown = mpp_dev_shutdown, |
|---|
| 806 | 790 | .driver = { |
|---|
| 807 | 791 | .name = VEPU1_DRIVER_NAME, |
|---|
| 808 | 792 | .of_match_table = of_match_ptr(mpp_vepu1_dt_match), |
|---|