| .. | .. |
|---|
| 264 | 264 | |
|---|
| 265 | 265 | mpp_write_req(mpp, task->reg, s, e, reg_en); |
|---|
| 266 | 266 | } |
|---|
| 267 | | - |
|---|
| 268 | 267 | /* flush tlb before starting hardware */ |
|---|
| 269 | 268 | mpp_iommu_flush_tlb(mpp->iommu_info); |
|---|
| 270 | 269 | |
|---|
| .. | .. |
|---|
| 559 | 558 | }; |
|---|
| 560 | 559 | |
|---|
| 561 | 560 | static const struct mpp_dev_var jpgdec_v1_data = { |
|---|
| 562 | | - .device_type = MPP_DEVICE_JPGDEC, |
|---|
| 561 | + .device_type = MPP_DEVICE_RKJPEGD, |
|---|
| 563 | 562 | .hw_info = &jpgdec_v1_hw_info, |
|---|
| 564 | 563 | .trans_info = jpgdec_v1_trans, |
|---|
| 565 | 564 | .hw_ops = &jpgdec_v1_hw_ops, |
|---|
| .. | .. |
|---|
| 586 | 585 | dec = devm_kzalloc(dev, sizeof(struct jpgdec_dev), GFP_KERNEL); |
|---|
| 587 | 586 | if (!dec) |
|---|
| 588 | 587 | return -ENOMEM; |
|---|
| 589 | | - platform_set_drvdata(pdev, dec); |
|---|
| 590 | | - |
|---|
| 591 | 588 | mpp = &dec->mpp; |
|---|
| 589 | + platform_set_drvdata(pdev, mpp); |
|---|
| 590 | + |
|---|
| 592 | 591 | if (pdev->dev.of_node) { |
|---|
| 593 | 592 | match = of_match_node(mpp_jpgdec_dt_match, pdev->dev.of_node); |
|---|
| 594 | 593 | if (match) |
|---|
| .. | .. |
|---|
| 623 | 622 | static int jpgdec_remove(struct platform_device *pdev) |
|---|
| 624 | 623 | { |
|---|
| 625 | 624 | struct device *dev = &pdev->dev; |
|---|
| 626 | | - struct jpgdec_dev *dec = platform_get_drvdata(pdev); |
|---|
| 625 | + struct mpp_dev *mpp = dev_get_drvdata(dev); |
|---|
| 627 | 626 | |
|---|
| 628 | 627 | dev_info(dev, "remove device\n"); |
|---|
| 629 | | - mpp_dev_remove(&dec->mpp); |
|---|
| 630 | | - jpgdec_procfs_remove(&dec->mpp); |
|---|
| 628 | + mpp_dev_remove(mpp); |
|---|
| 629 | + jpgdec_procfs_remove(mpp); |
|---|
| 631 | 630 | |
|---|
| 632 | 631 | return 0; |
|---|
| 633 | | -} |
|---|
| 634 | | - |
|---|
| 635 | | -static void jpgdec_shutdown(struct platform_device *pdev) |
|---|
| 636 | | -{ |
|---|
| 637 | | - int ret; |
|---|
| 638 | | - int val; |
|---|
| 639 | | - struct device *dev = &pdev->dev; |
|---|
| 640 | | - struct jpgdec_dev *dec = platform_get_drvdata(pdev); |
|---|
| 641 | | - struct mpp_dev *mpp = &dec->mpp; |
|---|
| 642 | | - |
|---|
| 643 | | - dev_info(dev, "shutdown device\n"); |
|---|
| 644 | | - |
|---|
| 645 | | - atomic_inc(&mpp->srv->shutdown_request); |
|---|
| 646 | | - ret = readx_poll_timeout(atomic_read, |
|---|
| 647 | | - &mpp->task_count, |
|---|
| 648 | | - val, val == 0, 20000, 200000); |
|---|
| 649 | | - if (ret == -ETIMEDOUT) |
|---|
| 650 | | - dev_err(dev, "wait total running time out\n"); |
|---|
| 651 | 632 | } |
|---|
| 652 | 633 | |
|---|
| 653 | 634 | struct platform_driver rockchip_jpgdec_driver = { |
|---|
| 654 | 635 | .probe = jpgdec_probe, |
|---|
| 655 | 636 | .remove = jpgdec_remove, |
|---|
| 656 | | - .shutdown = jpgdec_shutdown, |
|---|
| 637 | + .shutdown = mpp_dev_shutdown, |
|---|
| 657 | 638 | .driver = { |
|---|
| 658 | 639 | .name = JPGDEC_DRIVER_NAME, |
|---|
| 659 | 640 | .of_match_table = of_match_ptr(mpp_jpgdec_dt_match), |
|---|