[V12,1/3] Soc: MediaTek: Dodaj wszystkie ustawienia do MTK_MMSYS_DDP_DPI_FMT_CONFIG FUNC (2024)

różnica Mbox seria

ID wiadomości 1666147936-27368-2-git-send-email-xinlei.lee@mediate.com (Archiwum listy mailingowej)
Państwo Nowy, zarchiwizowany
Nagłówki pokazywać
Seria Dodaj kontrolę formatu wyjściowego DPI dla MT8186|.zwiększać

Popełnić wiadomość

Od: xinlei lee Różnica między MT8186 a innymi ICS polega na tym, że podczas modyfikowania formatuutput Format musimy zmodyfikować rejestr mmsys_base+0x400, aby przyjąć fakt.To należy zmodyfikować za pomocą DPI to Formt8186.fikses: A071E52F75D1 („SOC: MediaTek: dodaj MMSys Func, aby dostosować się do DPIoutput dla MT8186”)Podpisane: Xinlei Lee Recenzja: Angelogioacchino del Kingdom Recenzja: ck hu --- Sterowniki/SOC/MEDIATEK/MT8186-MMSYSYS.H |8 ++++ --- sterowniki/soc/mediaTek/mtk-mmsys.c |27 ++++++++++++++++++ ------ include/linux/soc/mediaTek/mtk-mmsys.h |7 ++++++ 3 pliki, 33 wstawki (+), 9 delecji (-)

Uwagi

Nicolas F. R. A. Prado Październik20, 2022, 16:33UTC |#1

Cześć, w środę, 19 października 2022 o 10:52:14 AM +0800, xinlei.lee@mediatek.com napisał:> Od: xinlei lee >> Różnica między MT8186 a innymi ICS polega na tym, że podczas modyfikowania> Format wyjściowy musimy zmodyfikować rejestr mmsys_base+0x400> efekt.> Więc podczas ustawiania formatu wyjściowego DPI musimy wywołać MMSys_Func do ustawieniaMMSys_Func nie jest czymś, co istnieje w kodzie.Zamiast tego wspomnij o nazwie funkcji rzeczywistej: MTK_MMSYS_DDP_DPI_FMT_CONFIG.> To do MT8186 synchronicznie.Tutaj, zanim powiedział, że zatwierdzenie dodaje wszystkie ustawienia DPI, możesz wspomnieć, że brakowało im poprzedniego zatwierdzenia, aby wyjaśnić: commit A071E52F75D1 („SOC: MediaTek: Dodaj MMSYS FUNC do dostosowania do wyjścia DPI dla MT8186”) BrakuNiektóre z możliwych formatów wyjściowych, a także miały niewłaściwy maskę bit.> Dodawanie MMSYS WSZYSTKIE Ustawienia, które należy zmodyfikować za pomocą DPI, są dla> Bieganie 186.To zdanie zmieniłbym na następujący: Dodaj brakujące formaty wyjściowe i napraw bitmas.Warto wspomnieć tutaj: podczas gdy na nim aktualizuj MTK_MMSYS_DDP_DPI_FMT_CONFIG (), aby używać ogólnych formatów, aby nieco łatwiej było rozszerzyć inne platformy.>> Poprawki: A071E52F75D1 („SOC: MediaTek: Dodaj MMSYS FUNC, aby dostosować się do DPI> Wyjście dla MT8186 ")Znacznik poprawek powinien być przechowywany w jednym wierszu, bez owijania.>> Podpisano: xinlei lee > Recenzja: Angelogioacchino del Kingdom > Recenzja: ck hu > ---> Sterowniki/soc/mediaTek/mt8186-mmsys.h |8 ++++ ---> Sterowniki/soc/mediaTek/mtk-mmsys.c |27 +++++++++++++++++ ------> include/linux/soc/mediaTek/mtk-mmsys.h |7 ++++++> 3 zmienione pliki, 33 wstawki (+), 9 delecji (-)>> diff-git a/sterowniki/soc/mediaTek/mt8186-mmsys.h b/sterowniki/soc/mediaTek/mt8186-mmsys.h> indeks 09B1CCBC0093..035AEC1EB616 100644> --- A/Drivers/Soc/MediaTek/MT8186-MMSys.h> +++ b/sterowniki/socie/mediaTek/mt8186-mmsys.h> @@ -5,9 +5,11 @@>> / * Wartości konfiguracji DPI w MMSYS Adres Space * /> #Define MT8186_MMSYS_DPI_OUTPUT_FORMAT0X400> -#Zdefiniuj DPI_format_Mask0x1> -#Zdefiniuj DPI_RGB888_DDR_CONBIT (0)> -#Zdefiniuj DPI_RGB565_SDR_CONBIT (1)> +#Zdefiniuj dpi_format_maskgenMask (1, 0)> +#Zdefiniuj DPI_RGB888_SDR_CON00> +#Zdefiniuj DPI_RGB888_DDR_CON1> +#Zdefiniuj DPI_RGB565_SDR_CON2> +#Zdefiniuj DPI_RGB565_DDR_CON3Te definicje powinny mieć prefiks MT8186_.Uniknie to zamieszania, które teraz MTK_MMSYS_DDP_DPI_FMT_CONFIG () jest bardziej platformowe.>> #Define MT8186_MMSYS_OVL_CON0XF04> #Define MT8186_MMSYS_OVL0_CON_MASK0X3> diff-git a/sterowniki/soc/mediaTek/mtk-mmsys.c b/sterowniki/soc/mediaTek/mtk-mmsys.c> Indeks D2C7A87AAB87..205F6DE45851 100644> --- A/Drivers/Soc/MediaTek/Mtk-Mmsys.c> +++ b/sterowniki/socie/mediaTek/mtk-mmsys.c> @@ -238,12 +238,27 @@ static void mtk_mmsys_update_bits (struct mtk_mmsys *mmsys, U32 Offset, U32 Mask,>> void MTK_MMSYS_DDP_DPI_FMT_CONFIG (URECTURE STRUCT *Dev, U32 Val)> {> -if (val)> -mtk_mmsys_update_bits (dev_get_drvdata (dev), mt8186_mmsys_dpi_output_format,> - DPI_RGB888_DDR_CON, DPI_FORMAT_MASK);> -else> -mtk_mmsys_update_bits (dev_get_drvdata (dev), mt8186_mmsys_dpi_output_format,> - DPI_RGB565_SDR_CON, DPI_FORMAT_MASK);> +struct mtk_mmsys *mmsys = dev_get_drvdata (dev);> +> +przełącznik (val) {> +Case MTK_DPI_RGB888_SDR_CON:> +mtk_mmsys_update_bits (mmsys, mt8186_mmsys_dpi_output_format,> + Dpi_format_mask, dpi_rgb888_sdr_con);> +Break;> +Case MTK_DPI_RGB565_SDR_CON:> +mtk_mmsys_update_bits (mmsys, mt8186_mmsys_dpi_output_format,> + Dpi_format_mask, dpi_rgb565_sdr_con);> +Break;> +Case MTK_DPI_RGB565_DDR_CON:> +mtk_mmsys_update_bits (mmsys, mt8186_mmsys_dpi_output_format,> + Dpi_format_mask, dpi_rgb565_ddr_con);> +Break;> +Case MTK_DPI_RGB888_DDR_CON:> +domyślnie:> +mtk_mmsys_update_bits (mmsys, mt8186_mmsys_dpi_output_format,> + Dpi_format_mask, dpi_rgb888_ddr_con);> +Break;> +}Szczerze mówiąc, tak naprawdę nie widzę sensu, aby funkcja była nieco bardziej splatformowa-agnostyka.Dzięki jednej platformie korzystającej z niej, to Justan niepotrzebna dodatkowa abstrakcja i można to łatwo zrobić, gdy zacznie to wymagać drugiej platforma ... w każdym razie, w każdym razie, w każdym razie,Recenzja: Nicolas F. R. A. Prado Dzięki, Nicos>}[..]

Xinlei Lee (Li Xinlei) Październik21, 2022, 11:59 ranoUTC |#2

Na czw, 2022-10-20 o 12:33 -0400, Nícolas F. R. A. Prado napisał:> Cześć,>> W środę, 19 października 2022 o 10:52:14 AM +0800, xinlei.lee@mediatek.com> Napisał:>> Od: xinlei lee >>>> Różnica między MT8186 a innymi ICS polega na tym, że podczas modyfikacji>>>> Format wyjściowy, musimy zmodyfikować rejestr mmsys_base+0x400 do>> Weź>> Efekt.>> Więc podczas ustawiania formatu wyjściowego DPI musimy wywołać MMSys_Func>> do ustawienia>> MMSys_Func nie jest czymś, co istnieje w kodzie.Zamiast tego wspomina> faktyczne> Nazwa funkcji: MTK_MMSYS_DDP_DPI_FMT_CONFIG.>>> To do MT8186 synchronicznie.>>> Tutaj, zanim powiedział, że zatwierdzenie dodaje wszystkie ustawienia DPI,> możesz> wspomniałem, że brakowało im poprzedniego zatwierdzenia, aby to zrobić> wyraźniej:>> Commit A071E52F75D1 („SOC: MediaTek: Dodaj MMSYS FUNC, aby dostosować się do DPI> Wyjście dla MT8186 ")> Brakowało niektórych możliwych formatów wyjściowych, a także zło> Dodatkowe.>>>> Dodawanie MMSys wszystkich ustawień, które należy zmodyfikować za pomocą DPI>> dla>> działa 186.>> To zdanie zmieniłbym na następujący:>> Dodaj brakujące formaty wyjściowe i napraw maska bitowa.>>> Wreszcie, sprawiasz, że funkcja jest bardziej hw-anostic (chociaż> W moim> Opinia to może być przyszłe osobne zatwierdzenie), więc jest warte> Wspomnienie> To tutaj:>> Podczas tego aktualizuj także MTK_MMSYS_DDP_DPI_FMT_CONFIG ()> formaty ogólne,>, aby nieco łatwiej było rozszerzyć inne platformy.>>>>> Poprawki: A071E52F75D1 („SOC: MediaTek: Dodaj MMSYS FUNC, aby dostosować się do DPI>> Wyjście dla MT8186 ")>> Tag poprawki powinien być przechowywany w jednym wierszu, bez owijania.>>>>> Podpisane: Xinlei Lee >> Recenzja: Angelogioacchino del Kingdom <>> Angelogioacchino.delregno@collabora.com>>> Recenzowane: ck hu >> --->> Sterowniki/soc/mediaTek/mt8186-mmsys.h |8 ++++ --->> Sterowniki/soc/mediaTek/mtk-mmsys.c |27 +++++++++++++++++>> ------>> w tym/Linux/soc/mediaTek/mtk-mmsys.h |7 ++++++>> 3 zmienione pliki, 33 wstawki (+), 9 delecji (-)>>>> diff-git a/sterowniki/soc/mediaTek/mt8186-mmsys.h>> B/Drivers/soc/mediaTek/MT8186-mmsys.h>> indeks 09B1CCBC0093..035AEC1EB616 100644>> --- A/Drivers/Soc/MediaTek/MT8186-MMSys.h>> +++ b/sterowniki/socie/mediaTek/mt8186-mmsys.h>> @@ -5,9 +5,11 @@>>>> / * Wartości konfiguracji DPI w MMSYS Adres Space * />> #Define MT8186_MMSYS_DPI_OUTPUT_FORMAT0X400>> -#Zdefiniuj DPI_format_Mask0x1>> -#Zdefiniuj DPI_RGB888_DDR_CONBIT (0)>> -#Zdefiniuj DPI_RGB565_SDR_CONBIT (1)>> +#Zdefiniuj dpi_format_maskgenmask>> (1, 0)>> +#Zdefiniuj DPI_RGB888_SDR_CON00>> +#Zdefiniuj DPI_RGB888_DDR_CON1>> +#Zdefiniuj DPI_RGB565_SDR_CON2>> +#Zdefiniuj DPI_RGB565_DDR_CON3>> Te definicje powinny mieć prefiks MT8186_.To uniknie> Zamieszania teraz> To MTK_MMSYS_DDP_DPI_FMT_CONFIG () jest wytwarzany więcej platformy> Agnostyka.>>>>> #Define MT8186_MMSYS_OVL_CON0XF04>> #Define MT8186_MMSYS_OVL0_CON_MASK0X3>> diff-git a/sterowniki/socie/mediaTek/mtk-mmsys.c>> B/Drivers/soc/mediaTek/mtk-mmsys.c>> Indeks D2C7A87AAB87..205F6DE45851 100644>> --- A/Drivers/Soc/MediaTek/Mtk-Mmsys.c>> +++ b/sterowniki/socie/mediaTek/mtk-mmsys.c>> @@ -238,12 +238,27 @@ static void mtk_mmsys_update_bits (struct>> MTK_MMSYS *MMSYS, U32 Offset, U32 Mask,>>>> void MTK_MMSYS_DDP_DPI_FMT_CONFIG (DRUCT DEVICE *Dev, U32 Val)>> {>> -if (val)>> -mtk_mmsys_update_bits (dev_get_drvdata (dev),>> MT8186_MMSYS_DPI_OUTPUT_FORMAT,>> - dpi_rgb888_ddr_con,>> dpi_format_mask);>> -else>> -mtk_mmsys_update_bits (dev_get_drvdata (dev),>> MT8186_MMSYS_DPI_OUTPUT_FORMAT,>> - DPI_RGB565_SDR_CON,>> dpi_format_mask);>> +struct mtk_mmsys *mmsys = dev_get_drvdata (dev);>> +>> +przełącznik (val) {>> +case mtk_dpi_rgb888_sdr_con:>> +mtk_mmsys_update_bits (mmsys,>> MT8186_MMSYS_DPI_OUTPUT_FORMAT,>> + dpi_format_mask,>> dpi_rgb888_sdr_con);>> +Break;>> +Case MTK_DPI_RGB565_SDR_CON:>> +mtk_mmsys_update_bits (mmsys,>> MT8186_MMSYS_DPI_OUTPUT_FORMAT,>> + dpi_format_mask,>> dpi_rgb565_sdr_con);>> +Break;>> +case mtk_dpi_rgb565_ddr_con:>> +mtk_mmsys_update_bits (mmsys,>> MT8186_MMSYS_DPI_OUTPUT_FORMAT,>> + dpi_format_mask,>> dpi_rgb565_ddr_con);>> +Break;>> +case mtk_dpi_rgb888_ddr_con:>> +Domyślnie:>> +mtk_mmsys_update_bits (mmsys,>> MT8186_MMSYS_DPI_OUTPUT_FORMAT,>> + dpi_format_mask,>> dpi_rgb888_ddr_con);>> +Break;>> +}>> Szczerze mówiąc, tak naprawdę nie widzę sensu funkcji> Nieco więcej> Platforma-agnostic taka.Z jedną platformą korzystającą z niej> To po prostu> niepotrzebna dodatkowa abstrakcja i można to łatwo zrobić, gdy> Drugi> Platforma zaczyna również tego wymagać ...>> W każdym razie,>> Recenzja: Nicolas F. R. A. Prado >> Dzięki,> Nicolas>>>}>> [..]Cześć Nícolas: Dziękuję za szczegółową odpowiedź i poprawkę. Przed wysłaniem następnej edycji mam dwa pytania, które chciałbym potwierdzić w odpowiedzi na twoje odpowiedzi: 1. W tej chwili zaktualizuj MTK_MMSYS_DDP_DPI_FMT_CONFIG (), aby używać formatów ogólnych, aby nieco łatwiej było rozszerzyć inne platformy. => To jest uczynienie tego MTK_MMSYS_DDP_DPI_FMT_CONFIG () FUNC?Ta funkcja może być używana tylko przez MT8186, ponieważ tylko MT8186 HA odpowiadające modyfikacje HW i umożliwia rejestry zarezerwowane w MMSys dla DPI do sterowania formatem wyjściowym.Ponieważ ten rejestr nie jest zdefiniowany dla innych IC, dodałem kontrolę do tego wywołania funkcji w MTK_DPI.C.Jeśli uważasz, że istnieją inne sposoby, aby wyglądał bardziej ogólny, gdzie mam to naprawić? 2.Wszystkie te definicje powinny mieć prefiks MT8186_.Będzie to uniknąć zamieszania, ponieważ MTK_MMSYS_DDP_DPI_FMT_CONFIG () staje się bardziej niezależny platforma. Henstly, tak naprawdę nie widzę sensu tworzenia platformy Agnostic jak ta.Używanie go na jednej platformie to tylko dodatkowa abstrakcja, która nie jest potrzebna, gdy druga platforma również zacznie jej potrzebować, można to zrobić łatwo ... => Rozumiem, że zmienne prefiksowe z etykietami jest bardziej sprzyjające tworzeniuFunkcje ogólne i można je ponownie wykorzystać, jeśli istnieje taka sytuacja w przyszłości.Rozumiem znaczenie utrzymania agnostyki platformy funkcyjnej, ale jak wspomniano, może być używana przez MT8186 tylko wtedy, gdy istnieją szczególne przypadki, w których inne ICS mogą polegać na MTK_MMSYS_UPDATE_BITS, aby tworzyć nowe funkcje. Powyższa treść to tylko moje zrozumienie.Jeśli masz jakieś pytania lub sugestie, komunikujemy się ponownie. Spójrz na twoją odpowiedź. Pozdrawiam! Xinlei

Nicolas F. R. A. Prado Październik21, 2022, 15:14UTC |#3

W piątek, 21 października 2022 o 07:59:02 PM +0800, Xinlei.Lee napisał:> Na czw, 2022-10-20 o 12:33 -0400, Nícolas F. R. A. Prado napisał:>> Cześć,>>>> W środę, 19 października 2022 o 10:52:14 AM +0800, xinlei.lee@mediatek.com>> napisał:>>> Z: xinlei Lee >>>>>> Różnica między MT8186 a innymi ICS polega na tym, że podczas modyfikowania>>>>>> format wyjściowy, musimy zmodyfikować rejestr mmsys_base+0x400 do>>> Weź>>> Efekt.>>> Więc podczas ustawiania formatu wyjściowego DPI musimy wywołać MMSys_Func>>> do ustawienia>>>> MMSYS_FUNC nie jest czymś, co istnieje w kodzie.Zamiast tego wspomina>> Rzeczywisty>> Nazwa funkcji: MTK_MMSYS_DDP_DPI_FMT_CONFIG.>>>>> To do MT8186 synchronicznie.>>>>>> Tutaj, zanim powiedział, że zatwierdzenie dodaje wszystkie ustawienia DPI,>> możesz>> Wspomniałem, że brakowało im poprzedniego zatwierdzenia, aby to zrobić>> wyraźniejszy:>>>> Commit A071E52F75D1 („SOC: MediaTek: Dodaj MMSYS FUNC, aby dostosować się do DPI>> Wyjście dla MT8186 ")>> Brakowało niektórych możliwych formatów wyjściowych, a także złożył>> Bithics.>>>>>>> Dodawanie MMSYS WSZYSTKIE Ustawienia, które należy zmodyfikować za pomocą DPI>>> dla>>> biegnie 186.>>>> To zdanie zmieniłbym na następujący:>>>> Dodaj brakujące formaty wyjściowe i napraw Mash.>>>>>> Wreszcie, czynicie również funkcję bardziej HW-Agnostic (choć>> w moim>> Opinia, że to może być przyszłe osobne zatwierdzenie), więc jest warte>> Wspomnienie>> tutaj:>>>> W tym czasie aktualizuj także MTK_MMSYS_DDP_DPI_FMT_CONFIG ()>> formaty ogólne,>>, aby nieco łatwiej było rozszerzyć inne platformy.>>>>>>>> Poprawki: A071E52F75D1 („SOC: MediaTek: Dodaj MMSYS FUNC, aby dostosować się do DPI>>> Wyjście dla MT8186 ")>>>> Tag poprawki powinien być przechowywany w jednym wierszu, bez owijania.>>>>>>>> Podpisane: Xinlei Lee >>> Recenzja: Angelogioacchino del Kingdom <>>> Angelogioacchino.delregno@collabora.com>>>> Recenzowane: ck hu >>> --->>> Sterowniki/soc/mediaTek/mt8186-mmsys.h |8 ++++ --->>> Sterowniki/soc/mediaTek/mtk-mmsys.c |27 +++++++++++++++++>>> ------>>> wtych/linux/soc/mediaTek/mtk-mmsys.h |7 ++++++>>> Zmieniono 3 pliki, 33 wstawki (+), 9 delecji (-)>>>>>> diff-git a/sterowniki/soc/mediaTek/mt8186-mmsys.h>>> B/Drivers/soc/mediaTek/mt8186-mmsys.h>>> indeks 09B1CCBC0093..035AEC1EB616 100644>>> --- A/Drivers/soc/mediaTek/MT8186-mmsys.h>>> +++ b/sterowniki/soc/mediaTek/mt8186-mmsys.h>>> @@ -5,9 +5,11 @@>>>>>> / * Wartości dla konfiguracji DPI w MMSYS Adres Space * />>> #Define MT8186_MMSYS_DPI_OUTPUT_FORMAT0X400>>> -#Zdefiniuj DPI_format_Mask0x1>>> -#Zdefiniuj DPI_RGB888_DDR_CONBIT (0)>>> -#Zdefiniuj DPI_RGB565_SDR_CONBIT (1)>>> +#Zdefiniuj dpi_format_maskgenMask>>> (1, 0)>>> +#Zdefiniuj DPI_RGB888_SDR_CON0>>> +#Zdefiniuj DPI_RGB888_DDR_CON1>>> +#Zdefiniuj DPI_RGB565_SDR_CON2>>> +#Zdefiniuj DPI_RGB565_DDR_CON3>>>> Te definiowanie powinny mieć przedrostek MT8186_.To uniknie>> Mudy teraz>> To MTK_MMSYS_DDP_DPI_FMT_CONFIG () jest wytwarzany więcej platformy>> Agnostyka.>>>>>>>> #Define MT8186_MMSYS_OVL_CON0XF04>>> #Define MT8186_MMSYS_OVL0_CON_MASK0X3>>> Diff--Git A/Drivers/Soc/MediaTek/Mtk-Mmmsys.c>>> B/Drivers/soc/mediaTek/mtk-mmsys.c>>> indeks D2C7A87AAB87..205F6DE45851 100644>>> --- A/Drivers/Soc/MediaTek/Mtk-Mmsys.c>>> +++ b/sterowniki/socie/mediaTek/mtk-mmsys.c>>> @@ -238,12 +238,27 @@ static void mtk_mmsys_update_bits (struct>>> MTK_MMSYS *MMSYS, U32 Offset, U32 Mask,>>>>>> void MTK_MMSYS_DDP_DPI_FMT_CONFIG (URECTURE STRUCT *Dev, U32 Val)>>> {>>> -if (val)>>> -mtk_mmsys_update_bits (dev_get_drvdata (dev),>>> MT8186_MMSYS_DPI_OUTPUT_FORMAT,>>> - dpi_rgb888_ddr_con,>>> dpi_format_mask);>>> -else>>> -mtk_mmsys_update_bits (dev_get_drvdata (dev),>>> MT8186_MMSYS_DPI_OUTPUT_FORMAT,>>> - dpi_rgb565_sdr_con,>>> dpi_format_mask);>>> +struct mtk_mmsys *mmsys = dev_get_drvdata (dev);>>> +>>> +przełącznik (val) {>>> +Case MTK_DPI_RGB888_SDR_CON:>>> +mtk_mmsys_update_bits (mmsys,>>> MT8186_MMSYS_DPI_OUTPUT_FORMAT,>>> + dpi_format_mask,>>> dpi_rgb888_sdr_con);>>> +Break;>>> +case mtk_dpi_rgb565_sdr_con:>>> +mtk_mmsys_update_bits (mmsys,>>> MT8186_MMSYS_DPI_OUTPUT_FORMAT,>>> + dpi_format_mask,>>> dpi_rgb565_sdr_con);>>> +Break;>>> +case mtk_dpi_rgb565_ddr_con:>>> +mtk_mmsys_update_bits (mmsys,>>> MT8186_MMSYS_DPI_OUTPUT_FORMAT,>>> + dpi_format_mask,>>> dpi_rgb565_ddr_con);>>> +Break;>>> +case mtk_dpi_rgb888_ddr_con:>>> +Domyślnie:>>> +mtk_mmsys_update_bits (mmsys,>>> MT8186_MMSYS_DPI_OUTPUT_FORMAT,>>> + dpi_format_mask,>>> dpi_rgb888_ddr_con);>>> +Break;>>> +}>>>> Szczerze mówiąc, tak naprawdę nie widzę sensu funkcji>> Nieco więcej>> Platform-Agnostic Tak jak ten.Z jedną platformą korzystającą z niej>> To po prostu>> niepotrzebna dodatkowa abstrakcja i można to łatwo zrobić, gdy>> Drugi>> Platforma również tego wymaga ...>>>> W każdym razie,>>>> Recenzja: Nicolas F. R. A. Prado >>>> Dzięki,>>>>>>>}>>>> [..]>> Cześć Nicolas:>> Dziękuję za szczegółową odpowiedź i korekcję.> Przed wysłaniem następnej edycji mam dwa pytania, które chciałbym> Aby potwierdzić z Tobą w odpowiedzi na twoje odpowiedzi:> 1.> Formaty ogólne, aby nieco łatwiej było rozszerzyć inne> platformy.> => To ma zrobić ten MTK_MMSYS_DDP_DPI_FMT_CONFIG () FUNC więcej> Ogólne?> Ta funkcja może być używana tylko przez MT8186, ponieważ tylko MT8186> ma> Odpowiednie modyfikacje w HW i umożliwia rejestrom zarezerwowanym> W MMSYS dla DPI użyć do kontrolowania formatu wyjściowego.Ponieważ to> Rejestr nie jest zdefiniowany dla innych IC, dodałem kontrolę do tej funkcji> Zadzwoń w mtk_dpi.c.Jeśli uważasz, że istnieją inne sposoby, aby to wyglądać> Bardziej ogólne, gdzie mam to poprawić?Zrobiłeś już MTK_MMSYS_DDP_DPI_FMT_CONFIG () bardziej ogólny, czyniąc go parametrem oddzielonym od jego reprezentacji rejestru na MT8186, to znaczy mtk_dpi_rgb888_sdr_con zamiast DPI_RGB8888_SDR_CON.W komunikacie zatwierdzenia, więc odzwierciedla zmiany, które realizujesz. Aby być wyjątkowo jasne, sugerowałem zaktualizowanie komunikatu zatwierdzenia do TheFollowing: Różnica między MT8186 a innymi ICS polega na tym, że podczas modyfikowania formatu wyjściowego musimy zmodyfikowaćrejestr mmsys_base+0x400, aby wejść w życie.Więc podczas ustawiania formatu wyjściowego DPI musimy wywołać synchronicznie MTK_MMSYSYS_DDPI_FMT_CONFIG, aby ustawić go na MT8186.Zatwierdzić A071E52F75D1 („SOC: MediaTek: Dodaj MMSYS FUNC do dostosowania do wyjścia DPI dla MT8186”) brakowało niektórych możliwych formatów wyjściowych, a także miał niewłaściwy maskę bit.Dodaj brakujące formaty wyjściowe i napraw Mash.Podczas gdy aktualizuj także MTK_MMSYS_DDP_DPI_FMT_CONFIG (), aby używać formatów ogólnych, aby nieco łatwiej było rozszerzyć inne platformy.Poprawki: A071E52F75D1 („SOC: MediaTek: Dodaj MMSYS FUNC, aby dostosować się do wyjścia DPI dla MT8186”)>> 2. Te definicje powinny mieć prefiks MT8186_.To uniknie> Zamieszanie jako MTK_MMSYS_DDP_DPI_FMT_CONFIG () staje się większą platformą> Niezależne.>> Szczerze mówiąc, tak naprawdę nie widzę sensu tworzenia platformy funkcji-> Agnostyk w ten sposób.Używanie go na jednej platformie to tylko dodatkowe> Abstrakcja, która nie jest potrzebna, gdy druga platforma zaczyna potrzebować> To też można to zrobić łatwo ...>> => Rozumiem tutaj, że zmienne przedrostkowe z etykietami jest> Bardziej sprzyjające uczynieniu funkcji ogólne i można je ponownie wykorzystać, jeśli tam> jest taka sytuacja w przyszłości.Rozumiem znaczenie> Utrzymanie agnostyki platformy funkcyjnej, ale jak wspomniano, może to tylko> być używane przez MT8186, jeśli istnieją szczególne przypadki, w których mogą inne ICS> Polegaj na MTK_MMSYS_UPDATE_BITS, aby tworzyć nowe funkcje.Mówię, że nawet jeśli funkcja otrzymałeś genericFormat jako parametr, jak MTK_DPI_RGB888_SDR_CON, w tym momencie w Timemt8186 jest jedynym SOC, który ma dla niego rejestr w MMSys, SO THE ALE WALITYDPI_FORMAT_MAMKDPI_RGB88888888888888 DR_CONDPI_RGB565_DDR_CONARE naprawdę wszystkie MT8186-Specyficzne, przynajmniej w tym momencie.Pozostawienie ich bez Themt8186_ może sprawić fałszywe wrażenie, że są już używane gdzie indziej.Bardzo łatwo je pomylić z ogólnymi (likemtk_dpi_rgb888_sdr_con).MT8186_MMSYS_DPI_OUTPUT_FORMAT ma już MT8186_Prefix, więc naprawdę mówię, że inne powinny mieć również.To do nagłówka MTK-MMSYS.hgeneric. ale na razie dodanie prefiksów uniknie zamieszania i wyjaśni to ISMT8186.

Xinlei Lee (Li Xinlei) Październik22, 2022, 9:59 ranoUTC |#4

W Fri, 2022-10-21 o 11:14 -0400, Nícolas F. A. Prado napisał:> O Fri, 21 października 2022 o 07:59:02 PM +0800, Xinlei.Lee napisał:>> Na czw, 2022-10-20 o 12:33 -0400, Nícolas F. R. A. Prado napisał:>>> Cześć,>>>>>> W środę, 19 października 2022 o 10:52:14 AM +0800, xinlei.lee@mediatk.com>>> napisał:>>>> Z: xinlei lee >>>>>>>> Różnica między MT8186 a innymi ICS polega na tym, że kiedy>>>> Modyfikowanie>>>>>>>> Format wyjściowy, musimy zmodyfikować rejestr mmsys_base+0x400>>>> do>>>> Weź>>>> Efekt.>>>> Więc podczas ustawiania formatu wyjściowego DPI musimy wywołać>>>> mmsys_func>>>> do ustawienia>>>>>> MMSYS_FUNC nie jest czymś, co istnieje w kodzie.Zamiast>>> Wspomnienie>>> Rzeczywisty>>> Nazwa funkcji: MTK_MMSYS_DDP_DPI_FMT_CONFIG.>>>>>>> To do MT8186 synchronicznie.>>>>>>>>> Tutaj, zanim powiedział, że zatwierdzenie dodaje wszystkie ustawienia dla>>> DPI,>>> możesz>>> Wspomniałem, że brakowało im poprzedniego zatwierdzenia, aby to zrobić>>> wyraźniejsze:>>>>>> Commit A071E52F75D1 („Soc: MediaTek: dodaj MMSYS FUNC, aby dostosować się>>> DPI>>> Wyjście dla MT8186 ")>>> Brakowało niektórych możliwych formatów wyjściowych, a także nie było> >> oboje.>>>>>>>>>> Dodawanie MMSys wszystkich ustawień, które należy zmodyfikować za pomocą DPI>>>> są>>>> dla>>>> biegnie 186.>>>>>> To zdanie zmieniłbym na następujący:>>>>>> Dodaj brakujące formaty wyjściowe i napraw Mash.>>>>>>>>> Wreszcie, czynicie również funkcję bardziej HW-Agnostic>>> (chociaż>>> w moim>>> Opinia, że to może być przyszłe osobne zatwierdzenie), więc to jest>>> Wartość>>> Wspomnienie>>> tutaj:>>>>>> W tym czasie aktualizuj również MTK_MMSYS_DDP_DPI_FMT_CONFIG ()>>> formaty ogólne,>>>, aby nieco łatwiej było rozszerzyć inne platformy.>>>>>>>>>>> Poprawki: A071E52F75D1 („Soc: MediaTek: Dodaj MMSYS FUNC, aby dostosować się>>>> DPI>>>> Wyjście dla MT8186 ")>>>>>> Znacznik poprawek powinien być przechowywany w jednym wierszu, bez owijania.>>>>>>>>>>> Podpisane: Xinlei Lee >>>> Recenzja: Angelogioacchino del Kingdom <>>>> Angelogioacchino.delregno@collabora.com>>>>> Recenzowane: ck hu >>>> --->>>> Sterowniki/soc/mediaTek/mt8186-mmsys.h |8 ++++ --->>>> Sterowniki/soc/mediaTek/mtk-mmsys.c |27>>>> ++++++++++++++++>>>> ------>>>> Włącz/Linux/soc/mediaTek/Mtk-Mmsys.h |7 ++++++>>>> 3 Zmieniono pliki, 33 wstawki (+), 9 delecji (-)>>>>>>>> diff-git a/sterowniki/soc/mediaTek/mt8186-mmsys.h>>>> B/Drivers/soc/mediaTek/mt8186-mmsys.h>>>> indeks 09B1CCBC0093..035AEC1EB616 100644>>>> --- A/Drivers/soc/mediaTek/MT8186-mmsys.h>>>> +++ B/Drivers/soc/mediaTek/MT8186-MMSys.h>>>> @@ -5,9 +5,11 @@>>>>>>>> / * Wartości dla konfiguracji DPI w MMSYS Adres Space * />>>> #Define MT8186_MMSYS_DPI_OUTPUT_FORMAT0X400>>>> -#Zdefiniuj dpi_format_mask>>>> 0x1>>>> -#Zdefiniuj DPI_RGB888_DDR_CONBIT (0)>>>> -#Zdefiniuj DPI_RGB565_SDR_CONBIT (1)>>>> +#Zdefiniuj dpi_format_mask>>>> genmask>>>> (1, 0)>>>> +#Zdefiniuj DPI_RGB888_SDR_CON00>>>> +#Zdefiniuj DPI_RGB888_DDR_CON1>>>> +#Zdefiniuj DPI_RGB565_SDR_CON2>>>> +#Zdefiniuj DPI_RGB565_DDR_CON3>>>>>> Te definiowanie powinny mieć prefiks MT8186_.To uniknie>>> Mudy teraz>>> To MTK_MMSYS_DDP_DPI_FMT_CONFIG () jest wytwarzany więcej platformy>>> Agnostyka.>>>>>>>>>>> #Define MT8186_MMSYSYS_OVL_CON0XF04>>>> #Define MT8186_MMSYS_OVL0_CON_MASK0X3>>>> Diff--Git A/Drivers/Soc/MediaTek/Mtk-Mmsys.c>>>> B/Drivers/soc/mediaTek/mtk-mmsys.c>>>> indeks D2C7A87AAB87..205F6DE45851 100644>>>> --- A/Drivers/Soc/MediaTek/Mtk-Mmsys.c>>>> +++ B/Drivers/soc/mediaTek/mtk-mmsys.c>>>> @@ -238,12 +238,27 @@ static void mtk_mmsys_update_bits (struct>>>> MTK_MMSYS *MMSYS, U32 Offset, U32 Mask,>>>>>>>> void MTK_MMSYS_DDP_DPI_FMT_CONFIG (URECTURE STRUCT *Dev, U32 Val)>>>> {>>>> -if (val)>>>> -mtk_mmsys_update_bits (dev_get_drvdata (dev),>>>> MT8186_MMSYS_DPI_OUTPUT_FORMAT,>>>> - dpi_rgb888_ddr_con,>>>> dpi_format_mask);>>>> -else>>>> -mtk_mmsys_update_bits (dev_get_drvdata (dev),>>>> MT8186_MMSYS_DPI_OUTPUT_FORMAT,>>>> - DPI_RGB565_SDR_CON,>>>> dpi_format_mask);>>>> +struct mtk_mmsys *mmsys = dev_get_drvdata (dev);>>>> +>>>> +przełącznik (val) {>>>> +case mtk_dpi_rgb888_sdr_con:>>>> +mtk_mmsys_update_bits (mmsys,>>>> MT8186_MMSYS_DPI_OUTPUT_FORMAT,>>>> + dpi_format_mask,>>>> dpi_rgb888_sdr_con);>>>> +Break;>>>> +case mtk_dpi_rgb565_sdr_con:>>>> +mtk_mmsys_update_bits (mmsys,>>>> MT8186_MMSYS_DPI_OUTPUT_FORMAT,>>>> + dpi_format_mask,>>>> dpi_rgb565_sdr_con);>>>> +Break;>>>> +case mtk_dpi_rgb565_ddr_con:>>>> +mtk_mmsys_update_bits (mmsys,>>>> MT8186_MMSYS_DPI_OUTPUT_FORMAT,>>>> + dpi_format_mask,>>>> dpi_rgb565_ddr_con);>>>> +Break;>>>> +case mtk_dpi_rgb888_ddr_con:>>>> +Domyślnie:>>>> +mtk_mmsys_update_bits (mmsys,>>>> MT8186_MMSYS_DPI_OUTPUT_FORMAT,>>>> + dpi_format_mask,>>>> dpi_rgb888_ddr_con);>>>> +Break;>>>> +}>>>>>> Szczerze mówiąc, tak naprawdę nie widzę sensu funkcji>>> Nieco więcej>>> Platform-Agnostic Tak jak ten.Z jedną platformą korzystającą z>>> to>>> To po prostu>>> Nieukształtowana dodatkowa abstrakcja i można to łatwo zrobić, gdy>>> sekundę>>> Platforma również tego wymaga ...>>>>>> W każdym razie,>>>>>> Recenzja: Nicolas F. R. A. Prado >>>>>> Dzięki,>>> Nicolas>>>>>>>}>>>>>> [..]>>>> Cześć Nicolas:>>>> Dziękuję za szczegółową odpowiedź i poprawkę.>> Przed wysłaniem następnej edycji mam dwa pytania>> Jak>> Aby potwierdzić z Tobą w odpowiedzi na twoje odpowiedzi:>> 1.>> formaty ogólne, dzięki czemu nieco łatwiej jest rozszerzyć dla innych>> platformy.>> => To ma zrobić ten MTK_MMSYS_DDP_DPI_FMT_CONFIG () FUNC więcej>> Ogólne?>> Ta funkcja może być używana tylko przez MT8186, ponieważ tylko MT8186>> ma>> Odpowiednie modyfikacje w HW i umożliwia rejestrom>> Zarezerwowany>> W MMSYS dla DPI użyć do kontrolowania formatu wyjściowego.Ponieważ to>> Rejestr nie jest zdefiniowany dla innych IC, dodałem do tego kontrolę>> funkcja>> Zadzwoń w mtk_dpi.c.Jeśli uważasz, że istnieją inne sposoby, aby to zrobić>> Spójrz>> Bardziej ogólne, gdzie mam to poprawić?>> Zrobiłeś już mtk_mmsys_ddp_dpi_fmt_config () bardziej ogólny przez> Sprawienie, że to jest> Parametr formatu odsprzedany od reprezentacji rejestru na> MT8186, to znaczy,> MTK_DPI_RGB888_SDR_CON zamiast DPI_RGB888_SDR_CON.>> Nie prosiłem o modyfikację kodu tego komentarza, byłem> sugerowanie ciebie> Dodaj to zdanie w komunikacie zatwierdzenia, aby odzwierciedlało zmiany> Jesteś> już robię.>> Aby być bardziej jasnym, sugerowałem zaktualizowanie wiadomości zatwierdzenia>> Następnie:>> Różnica między MT8186 a innymi ICS polega na tym, że podczas modyfikacji> Wyjście> Format, musimy zmodyfikować rejestr mmsys_base+0x400> efekt.Więc kiedy> Ustawienie formatu wyjściowego DPI, musimy zadzwonić> MTK_MMSYS_DDP_DPI_FMT_CONFIG TO> Ustaw na MT8186 synchronicznie.>> Commit A071E52F75D1 („SOC: MediaTek: Dodaj MMSYS FUNC, aby dostosować się do DPI> Wyjście dla> MT8186 ") brakowało niektórych możliwych formatów wyjściowych, a także miał> źle> Dodatkowe.>> Dodaj brakujące formaty wyjściowe i napraw maska bitowa.>> Podczas tego aktualizuj także MTK_MMSYS_DDP_DPI_FMT_CONFIG ()> formaty ogólne,>, aby nieco łatwiej było rozszerzyć inne platformy.>> Poprawki: A071E52F75D1 („SOC: MediaTek: Dodaj MMSYS FUNC, aby dostosować się do DPI> Wyjście dla MT8186 ")>>>>> 2. Te definicje powinny mieć prefiks MT8186_.To będzie>> Unikaj>> Zamieszanie jako MTK_MMSYS_DDP_DPI_FMT_CONFIG () staje się większą platformą>> Niezależny.>>>> Szczerze mówiąc, tak naprawdę nie widzę sensu tworzenia tej funkcji>> platforma->> Agnostyk w ten sposób.Używanie go na jednej platformie to tylko dodatkowe>> abstrakcja, która nie jest potrzebna, gdy zaczyna się druga platforma>> Potrzebowanie>> To też można to zrobić łatwo ...>>>> => Rozumiem tutaj, że zmienne prefiksowe z etykietami>> jest>> Bardziej sprzyjający generowaniu funkcji i można je ponownie wykorzystać, jeśli>> Tam>> to taka sytuacja w przyszłości.Rozumiem znaczenie>> Utrzymanie agnostyki platformy funkcyjnej, ale jak wspomniano, może>> tylko>> używać przez MT8186, jeśli istnieją specjalne przypadki, w których inne ICS>> May>> Polega na MTK_MMSYS_UPDATE_BITS, aby tworzyć nowe funkcje.>> Mówię o tym, nawet jeśli funkcja otrzymałeś> Generic> Format jako parametr, podobnie jak MTK_DPI_RGB888_SDR_CON, w tym momencie w> Czas> MT8186 to jedyny SoC, który ma dla niego rejestr w MMSys, więc> Wartości>> Dpi_format_mask> DPI_RGB888_SDR_CON> DPI_RGB888_DDR_CON> DPI_RGB565_SDR_CON> DPI_RGB565_DDR_CON>> są naprawdę wszystkie specyficzne dla MT8186, przynajmniej w tym momencie.Zostawiając je> Bez> MT8186_ może sprawić fałszywe wrażenie, że są już używane> Gdzie indziej.Również> Naprawdę łatwo jest je pomylić z ogólnymi> MTK_DPI_RGB888_SDR_CON).MT8186_MMSYS_DPI_OUTPUT_FORMAT już ma> MT8186_> Prefiks, więc naprawdę mówię, że inne powinny mieć jako> Cóż.>> Jeśli/gdy ten sam adres, maska lub wartości dla tego rejestru start> używane na> Inne SoC, a następnie możesz usunąć prefiks i przenieść go do MTK-> mmsys.h> Generyczny nagłówek.>> Ale na razie dodanie prefiksów uniknie zamieszania i sprawi, że> jasne, że to jest> MT8186 specyficzne.>> Dzięki,> NicolasCześć Nícolas: Dzięki za szczegółowe wyjaśnienie i korekta, rozumiem, że te wartości w pliku MT8186-MMSYS.h powinny być podane: dpi_format_maskdpi_rgb888_sdr_condpi_rgb888_ddr_condpi_rgb565_sdr_condpi_rgb565_ _ Aby uniknąć zamieszania, wygląda ogólne w funkcji mtk_mmsys_update_bits ()Dla twojej sugestii zrewiduję to w następnym wydaniu. Pozdrawiam! Xinlei

różnica Mbox seria

Skrawek

diff-git A/SOCVER/SOC/MEDIATEK/MT8186-MMSYSYS.H B/SORIVERS/SOC/MEDIATEK/MT8186-MMSYSYS.Hindeks 09B1CCBC0093..035AEC1EB616 100644--- A/Drivers/Soc/MediaTek/MT8186-MMSys.h+++ b/sterowniki/soc/mediaTek/mt8186-mmsys.h@@ -5,9 +5,11 @@ / * Wartości dla konfiguracji DPI w MMSYS SPAPE */ #DEFINE MT8186_MMSYS_DPI_OUTPUT_FORMAT0X400-#Zdefiniuj dpi_format_mask0x1-#Zdefiniuj DPI_RGB888_DDR_CONBIT (0)-#Zdefiniuj DPI_RGB565_SDR_CONBIT (1)+#Zdefiniuj dpi_format_maskgenMask (1, 0)+#Zdefiniuj DPI_RGB888_SDR_CON00+#Zdefiniuj DPI_RGB888_DDR_CON1+#Zdefiniuj DPI_RGB565_SDR_CON2+#Zdefiniuj DPI_RGB565_DDR_CON3#Define MT8186_MMSYS_OVL_CON0XF04 #DEFINE MT8186_MMSYS_OVL0_CON_MASK0X3Diff-git a/socers/soc/mediaTek/mtk-mmsys.c b/sterowniki/soC/mediaTek/mtk-mmsys.cIndeks D2C7A87AAB87..205F6DE45851 100644--- A/Drivers/Soc/MediaTek/Mtk-Mmmsys.c+++ b/sterowniki/socie/mediaTek/mtk-mmsys.c@@ -238,12 +238,27 @@ static void mtk_mmsys_update_bits (struct mtk_mmsys *mmsys, u32 offset, maska u32,void MTK_MMSYS_DDP_DPI_FMT_CONFIG (URUCTURE STRUCT *Dev, U32 Val) {-if (val)-mtk_mmsys_update_bits (dev_get_drvdata (dev), mt8186_mmsys_dpi_output_format,- dpi_rgb888_ddr_con, dpi_format_mask);-w przeciwnym razie-mtk_mmsys_update_bits (dev_get_drvdata (dev), mt8186_mmsys_dpi_output_format,- dpi_rgb565_sdr_con, dpi_format_mask);+struct mtk_mmsys *mmsys = dev_get_drvdata (dev);++switch (val) {+Case MTK_DPI_RGB888_SDR_CON:+mtk_mmsys_update_bits (mmsys, mt8186_mmsys_dpi_output_format,+ Dpi_format_mask, dpi_rgb888_sdr_con);+Break;+Case MTK_DPI_RGB565_SDR_CON:+mtk_mmsys_update_bits (mmsys, mt8186_mmsys_dpi_output_format,+ Dpi_format_mask, dpi_rgb565_sdr_con);+Break;+Case MTK_DPI_RGB565_DDR_CON:+mtk_mmsys_update_bits (mmsys, mt8186_mmsys_dpi_output_format,+ Dpi_format_mask, dpi_rgb565_ddr_con);+Break;+case mtk_dpi_rgb888_ddr_con:+domyślnie:+mtk_mmsys_update_bits (mmsys, mt8186_mmsys_dpi_output_format,+ Dpi_format_mask, dpi_rgb888_ddr_con);+Break;+}} Export_symbol_gpl (mtk_mmsys_ddp_dpi_fmt_config);Diff-Git A/include/linux/soc/mediaTek/mtk-mmsys.h b/aclude/linux/soc/mediaTek/mtk-mmsys.hIndeks D2B02BB43768..B85F66DB33E1 100644--- a/w calive/linux/soc/mediaTek/mtk-mmsys.h+++ b/w calive/linux/soc/mediaTek/mtk-mmsys.h@@ -9,6 +9,13 @@ Enum MTK_DDP_COMP_ID;Urządzenie struktura;+Enum MTK_DPI_OUT_format_Con {+MTK_DPI_RGB888_SDR_CON,+MTK_DPI_RGB888_DDR_CON,+MTK_DPI_RGB565_SDR_CON,+MTK_DPI_RGB565_DDR_CON+};+ENUM MTK_DDP_COMP_ID {DDP_COMPONTON_AAL0, DDP_COMPONTER_AAL1,
[V12,1/3] Soc: MediaTek: Dodaj wszystkie ustawienia do MTK_MMSYS_DDP_DPI_FMT_CONFIG FUNC (2024)

References

Top Articles
Latest Posts
Article information

Author: Duncan Muller

Last Updated:

Views: 5383

Rating: 4.9 / 5 (79 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Duncan Muller

Birthday: 1997-01-13

Address: Apt. 505 914 Phillip Crossroad, O'Konborough, NV 62411

Phone: +8555305800947

Job: Construction Agent

Hobby: Shopping, Table tennis, Snowboarding, Rafting, Motor sports, Homebrewing, Taxidermy

Introduction: My name is Duncan Muller, I am a enchanting, good, gentle, modern, tasty, nice, elegant person who loves writing and wants to share my knowledge and understanding with you.