Received: by 2002:a05:6358:11c7:b0:104:8066:f915 with SMTP id i7csp5215899rwl; Tue, 11 Apr 2023 02:03:34 -0700 (PDT) X-Google-Smtp-Source: AKy350ZekmAz6YBz0STMwvulXqYCSd4gUn4oBzow/3fFCThzNyhxQ1YphKryBSvRCmpptcV0oKEz X-Received: by 2002:a17:906:4341:b0:94a:a2fe:d8f with SMTP id z1-20020a170906434100b0094aa2fe0d8fmr4363686ejm.19.1681203813962; Tue, 11 Apr 2023 02:03:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681203813; cv=none; d=google.com; s=arc-20160816; b=tvl8WzjHX2e1n7+iHbSnVgrqKLIewKvgZwj3tVMnRUUWW+5M4/JbAFKW3GHfj1D1cB RwfltUh2PHkyOWbT9LuYyAdFXlTutw+cFlJWwY3Rg6NgvtKrJ0uWHJ6IXYahBfQQQaNQ rt10EVgyMIpP2hCly7eDhbCidDqpFtpjR6mgpT0TMGpY9VvWu+Uw6Bj3pofdyiOE7utg yprgDKT/YPuGr4e++VhO8uX+nH2F+WnWcoSfb2UgzDX3YvFn6F24USTAma6K5swf5Knk 6iAjbo7lzEDDPumnmoMLPsERLvuhweAiqaNBIFZ2Kxhk4vOxNwC1yfXQbrJZXsfZDZbK sBRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:sender:hmm_source_type:hmm_attache_num :hmm_source_ip; bh=ULRgyq3IfnMH9jjzbEgyad5+epQ7XC7tnM0/izfPcmU=; b=msDPVIurbnaLwitKCPsU2c+n+LfbI2XErXU2532PKCt1NpPVsl/g9ag7rJv7eDOFSV R2WG5/XHYJwujn31al+qdIeigScVq7nCVvljC5EsscBY1k7BMXnqhf4Ei6ANlRU70hOM xsjLEWPpqrnNeTMWejyH5nQCRQ2EnzWm7nWAfX5pn2+OCtt7KMj8HAc12hnBjZUxEnBJ MSS7qIP5E2Wsp9r4T2olFQhl2RbJioS24KJl3TyiPZPn8gDuag8kEMut8hpPHlkE/A2O 1qnW1kE1Fn7C0G/u4REjDw5BYMz0gLDZnEZ0nfx2IN9jCv+Vog/wf8iiTv6JXarUbYew iIBA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u3-20020a170906c40300b0093f9b68a0ffsi2359894ejz.319.2023.04.11.02.03.04; Tue, 11 Apr 2023 02:03:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229705AbjDKItd (ORCPT + 99 others); Tue, 11 Apr 2023 04:49:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41794 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230061AbjDKItb (ORCPT ); Tue, 11 Apr 2023 04:49:31 -0400 Received: from 189.cn (ptr.189.cn [183.61.185.101]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id B68C0272A; Tue, 11 Apr 2023 01:49:24 -0700 (PDT) HMM_SOURCE_IP: 10.64.8.41:52050.376874080 HMM_ATTACHE_NUM: 0000 HMM_SOURCE_TYPE: SMTP Received: from clientip-114.242.206.180 (unknown [10.64.8.41]) by 189.cn (HERMES) with SMTP id BEB57100208; Tue, 11 Apr 2023 16:49:20 +0800 (CST) Received: from ([114.242.206.180]) by gateway-151646-dep-7b48884fd-ljp89 with ESMTP id 1b31214f715b4affa0bb41c4bfa92964 for emil.l.velikov@gmail.com; Tue, 11 Apr 2023 16:49:23 CST X-Transaction-ID: 1b31214f715b4affa0bb41c4bfa92964 X-Real-From: 15330273260@189.cn X-Receive-IP: 114.242.206.180 X-MEDUSA-Status: 0 Sender: 15330273260@189.cn Message-ID: <2f024efb-3e9f-8777-9f32-ca1f0e436b40@189.cn> Date: Tue, 11 Apr 2023 16:49:19 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Subject: Re: [PATCH v10 2/2] drm: add kms driver for loongson display controller Content-Language: en-US To: Emil Velikov Cc: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Daniel Vetter , Sumit Semwal , Christian Koenig , linaro-mm-sig@lists.linaro.org, Li Yi , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, nathan@kernel.org, linux-media@vger.kernel.org, loongson-kernel@lists.loongnix.cn References: <20230403171304.2157326-1-suijingfeng@loongson.cn> <20230403171304.2157326-3-suijingfeng@loongson.cn> From: Sui Jingfeng <15330273260@189.cn> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.6 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,FROM_LOCAL_DIGITS,FROM_LOCAL_HEX,NICE_REPLY_A, SPF_HELO_PASS,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 2023/4/4 22:10, Emil Velikov wrote: >> --- /dev/null >> +++ b/drivers/gpu/drm/loongson/lsdc_drv.c >> +static const struct lsdc_desc dc_in_ls7a1000 = { >> + .chip = CHIP_LS7A1000, >> + .num_of_crtc = LSDC_NUM_CRTC, >> + .max_pixel_clk = 200000, >> + .max_width = 2048, >> + .max_height = 2048, >> + .num_of_hw_cursor = 1, >> + .hw_cursor_w = 32, >> + .hw_cursor_h = 32, >> + .pitch_align = 256, >> + .mc_bits = 40, >> + .has_vblank_counter = false, >> + .has_scan_pos = true, >> + .has_builtin_i2c = true, >> + .has_vram = true, >> + .has_hpd_reg = false, >> + .is_soc = false, >> +}; >> + >> +static const struct lsdc_desc dc_in_ls7a2000 = { >> + .chip = CHIP_LS7A2000, >> + .num_of_crtc = LSDC_NUM_CRTC, >> + .max_pixel_clk = 350000, >> + .max_width = 4096, >> + .max_height = 4096, >> + .num_of_hw_cursor = 2, >> + .hw_cursor_w = 64, >> + .hw_cursor_h = 64, >> + .pitch_align = 64, >> + .mc_bits = 40, /* support 48, but use 40 for backward compatibility */ >> + .has_vblank_counter = true, >> + .has_scan_pos = true, >> + .has_builtin_i2c = true, >> + .has_vram = true, >> + .has_hpd_reg = true, >> + .is_soc = false, >> +}; >> + > Roughly a quarter of the above are identical. It might be better to > drop them for now and re-introduce as needed with future code. > My initial intent here is to give a skeleton of our hardware features to reviewers, Not only for gearing the control, but also for easier the reviewing process. Without this, other part of this patch may looks questionable again. We  could remove all of the features look up key in the struct lsdc_desc, leave the .chip member there only.  Hard coded everything else according to the chip only. But the code looks ugly by doing that way. We want weaken the If loongson SoC is introduced, the identical will decrease. It's OK,  I could drop as much as possible at next version. >> +const char *chip_to_str(enum loongson_chip_family chip) >> +{ >> + if (chip == CHIP_LS7A2000) >> + return "LS7A2000"; >> + >> + if (chip == CHIP_LS7A1000) >> + return "LS7A1000"; >> + > If it were me, I would add the name into the lsdc_desc. > Agree, this is acceptable. Will be changed at the next version.