Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/msm/mdp5: Add configuration for MDP v1.16

MDP version v1.16 is almost identical to v1.15 with most significant
difference being presence of second DSI interface. MDP v1.16 is found on
SoCs such as MSM8x53, SDM450, SDM632 (All with Adreno 506).

Signed-off-by: Vladimir Lypak <vladimir.lypak@gmail.com>
Signed-off-by: Sireesh Kodali <sireeshkodali1@gmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20210928131929.18567-4-sireeshkodali1@gmail.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>

authored by

Vladimir Lypak and committed by
Rob Clark
fb25d447 90a06f13

+89
+89
drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c
··· 752 752 .max_clk = 360000000, 753 753 }; 754 754 755 + static const struct mdp5_cfg_hw msm8x53_config = { 756 + .name = "msm8x53", 757 + .mdp = { 758 + .count = 1, 759 + .caps = MDP_CAP_CDM | 760 + MDP_CAP_SRC_SPLIT, 761 + }, 762 + .ctl = { 763 + .count = 3, 764 + .base = { 0x01000, 0x01200, 0x01400 }, 765 + .flush_hw_mask = 0xffffffff, 766 + }, 767 + .pipe_vig = { 768 + .count = 1, 769 + .base = { 0x04000 }, 770 + .caps = MDP_PIPE_CAP_HFLIP | 771 + MDP_PIPE_CAP_VFLIP | 772 + MDP_PIPE_CAP_SCALE | 773 + MDP_PIPE_CAP_CSC | 774 + MDP_PIPE_CAP_DECIMATION | 775 + MDP_PIPE_CAP_SW_PIX_EXT | 776 + 0, 777 + }, 778 + .pipe_rgb = { 779 + .count = 2, 780 + .base = { 0x14000, 0x16000 }, 781 + .caps = MDP_PIPE_CAP_HFLIP | 782 + MDP_PIPE_CAP_VFLIP | 783 + MDP_PIPE_CAP_DECIMATION | 784 + MDP_PIPE_CAP_SW_PIX_EXT | 785 + 0, 786 + }, 787 + .pipe_dma = { 788 + .count = 1, 789 + .base = { 0x24000 }, 790 + .caps = MDP_PIPE_CAP_HFLIP | 791 + MDP_PIPE_CAP_VFLIP | 792 + MDP_PIPE_CAP_SW_PIX_EXT | 793 + 0, 794 + }, 795 + .pipe_cursor = { 796 + .count = 1, 797 + .base = { 0x34000 }, 798 + .caps = MDP_PIPE_CAP_HFLIP | 799 + MDP_PIPE_CAP_VFLIP | 800 + MDP_PIPE_CAP_SW_PIX_EXT | 801 + MDP_PIPE_CAP_CURSOR | 802 + 0, 803 + }, 804 + 805 + .lm = { 806 + .count = 3, 807 + .base = { 0x44000, 0x45000 }, 808 + .instances = { 809 + { .id = 0, .pp = 0, .dspp = 0, 810 + .caps = MDP_LM_CAP_DISPLAY | 811 + MDP_LM_CAP_PAIR }, 812 + { .id = 1, .pp = 1, .dspp = -1, 813 + .caps = MDP_LM_CAP_DISPLAY }, 814 + }, 815 + .nb_stages = 5, 816 + .max_width = 2048, 817 + .max_height = 0xFFFF, 818 + }, 819 + .dspp = { 820 + .count = 1, 821 + .base = { 0x54000 }, 822 + 823 + }, 824 + .pp = { 825 + .count = 2, 826 + .base = { 0x70000, 0x70800 }, 827 + }, 828 + .cdm = { 829 + .count = 1, 830 + .base = { 0x79200 }, 831 + }, 832 + .intf = { 833 + .base = { 0x6a000, 0x6a800, 0x6b000 }, 834 + .connect = { 835 + [0] = INTF_DISABLED, 836 + [1] = INTF_DSI, 837 + [2] = INTF_DSI, 838 + }, 839 + }, 840 + .max_clk = 400000000, 841 + }; 842 + 755 843 static const struct mdp5_cfg_hw msm8917_config = { 756 844 .name = "msm8917", 757 845 .mdp = { ··· 1239 1151 { .revision = 7, .config = { .hw = &msm8x96_config } }, 1240 1152 { .revision = 11, .config = { .hw = &msm8x76_config } }, 1241 1153 { .revision = 15, .config = { .hw = &msm8917_config } }, 1154 + { .revision = 16, .config = { .hw = &msm8x53_config } }, 1242 1155 }; 1243 1156 1244 1157 static const struct mdp5_cfg_handler cfg_handlers_v3[] = {