Received: by 2002:a05:6358:bb9e:b0:b9:5105:a5b4 with SMTP id df30csp4049947rwb; Tue, 6 Sep 2022 01:29:51 -0700 (PDT) X-Google-Smtp-Source: AA6agR4U73y4W4CydMuLlcnc76n9mVF5IoYgDxvASO3Rh3Y1YJavF1dfYYZq56gRCEUwoxWyBV7D X-Received: by 2002:a17:907:2d14:b0:73f:fabc:332c with SMTP id gs20-20020a1709072d1400b0073ffabc332cmr36299089ejc.704.1662452990789; Tue, 06 Sep 2022 01:29:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1662452990; cv=none; d=google.com; s=arc-20160816; b=RtwCLSpMDRwaCsYtu8I3j/19K09NHb644WwNlwWcfUhOCxxCeX4Nlbz4mGnljEhNAa amKYpuVsTPO7nb/SmS9tFyKlx3GXQP2Bx3bL7/tYdslm2VF2rGVZWouDvjvAW4MzliVu H+aJBXmZ9FpnLEDcxl3dLbWafvQFqQmAoZUzWNJ4ZhlkFCBcAnPX9NQOqulcMadoYWwF yfhhdaQOjVq20UjHzPgQDS3Ofyvi4xQn/xpoM05MgbltegMl2zD5Sm/qqDdv02ESGhO4 JnOlvlGczb2mLOFC4z12tNwwvC4OGS2Wi5+FNhUEXMD9I1BF61efhjGOHOvhVrACX1eX GurQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=Bh+E7R1HGe5EZgG23eyCtbShTB7coPIuMbejQLp56a8=; b=gdgPvfkDlfW8iVGmW2xmPx5f/DR4Q5pLZiLvKJIMhFKRO8uXVEAon+3V+CEG+NIsr7 tu3i9H3s3qakXyN5O4/Cr+LoONcDHMHTmzqitjjxBTh/wwbb125bVp4i02m2VrF13z4X pvPcMSX8UrfuCowrNP+L0v45p27uscuyyM3NFBKX/HHAEU12FmeTPMB3QXBlEFaL3A8p bxFUcMKrRG7mvmb18WfLMJj8nl0DEBZFzK/+F01i4BlwbkeXseVH+4qg0uBgMRfyL2cN mIR6/ghEiy6I6yDSAqiqGMUXOex1g1heKQKRyh9h0FrEQMoJpctoIaW7iL/vIpinXhUR r9uw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=yooRTCnT; dkim=neutral (no key) header.i=@suse.de; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id gs19-20020a1709072d1300b007394b02127bsi10549145ejc.1002.2022.09.06.01.29.24; Tue, 06 Sep 2022 01:29:50 -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; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=yooRTCnT; dkim=neutral (no key) header.i=@suse.de; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239002AbiIFHkt (ORCPT + 99 others); Tue, 6 Sep 2022 03:40:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34392 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233797AbiIFHj7 (ORCPT ); Tue, 6 Sep 2022 03:39:59 -0400 Received: from smtp-out1.suse.de (smtp-out1.suse.de [IPv6:2001:67c:2178:6::1c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AD52023161 for ; Tue, 6 Sep 2022 00:39:58 -0700 (PDT) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 8FDBC337A8; Tue, 6 Sep 2022 07:39:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1662449995; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Bh+E7R1HGe5EZgG23eyCtbShTB7coPIuMbejQLp56a8=; b=yooRTCnToo/T7kFxK7/r63DKRTEtpzEPcNKTSHbbORAqeMpUEvZaFBHkUDzsUctkp6oLQ7 560SNnUW/89XiJ7gWg5U5IbGumi0CXdOScWGAON/uyhAthoWSy2vhhmx2iWGdgBjBVIq5u p70Be1vHIdjM16VI1dCNrBW2E9z7Sk0= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1662449995; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Bh+E7R1HGe5EZgG23eyCtbShTB7coPIuMbejQLp56a8=; b=RYVEXwXhzocUxhs26Zb6eHQw5Jd8S5cdXk9Nq9buMlYuDqvccmAMkh8howiohqsbgTh6i+ IdZFSnEjth5OmLAw== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 7160413A93; Tue, 6 Sep 2022 07:39:55 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id uLO/Gkv5FmPeOgAAMHmgww (envelope-from ); Tue, 06 Sep 2022 07:39:55 +0000 From: Takashi Iwai To: Thomas Zimmermann Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 07/11] drm/udl: Drop unneeded alignment Date: Tue, 6 Sep 2022 09:39:47 +0200 Message-Id: <20220906073951.2085-8-tiwai@suse.de> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20220906073951.2085-1-tiwai@suse.de> References: <20220906073951.2085-1-tiwai@suse.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham 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 The alignment of damaged area was needed for the original udlfb driver that tried to trim the superfluous copies between front and backend buffers and handle data in long int. It's not the case for udl DRM driver, hence we can omit the whole unneeded alignment, as well as the dead code. Signed-off-by: Takashi Iwai --- drivers/gpu/drm/udl/udl_modeset.c | 28 +-------------------- drivers/gpu/drm/udl/udl_transfer.c | 40 ------------------------------ 2 files changed, 1 insertion(+), 67 deletions(-) diff --git a/drivers/gpu/drm/udl/udl_modeset.c b/drivers/gpu/drm/udl/udl_modeset.c index c34d564773a3..9896c16c74f5 100644 --- a/drivers/gpu/drm/udl/udl_modeset.c +++ b/drivers/gpu/drm/udl/udl_modeset.c @@ -243,28 +243,6 @@ static long udl_log_cpp(unsigned int cpp) return __ffs(cpp); } -static int udl_aligned_damage_clip(struct drm_rect *clip, int x, int y, - int width, int height) -{ - int x1, x2; - - if (WARN_ON_ONCE(x < 0) || - WARN_ON_ONCE(y < 0) || - WARN_ON_ONCE(width < 0) || - WARN_ON_ONCE(height < 0)) - return -EINVAL; - - x1 = ALIGN_DOWN(x, sizeof(unsigned long)); - x2 = ALIGN(width + (x - x1), sizeof(unsigned long)) + x1; - - clip->x1 = x1; - clip->y1 = y; - clip->x2 = x2; - clip->y2 = y + height; - - return 0; -} - static int udl_handle_damage(struct drm_framebuffer *fb, const struct iosys_map *map, int x, int y, int width, int height) @@ -282,11 +260,7 @@ static int udl_handle_damage(struct drm_framebuffer *fb, return ret; log_bpp = ret; - ret = udl_aligned_damage_clip(&clip, x, y, width, height); - if (ret) - return ret; - else if ((clip.x2 > fb->width) || (clip.y2 > fb->height)) - return -EINVAL; + drm_rect_init(&clip, x, y, width, height); ret = drm_gem_fb_begin_cpu_access(fb, DMA_FROM_DEVICE); if (ret) diff --git a/drivers/gpu/drm/udl/udl_transfer.c b/drivers/gpu/drm/udl/udl_transfer.c index 176ef2a6a731..a431208dda85 100644 --- a/drivers/gpu/drm/udl/udl_transfer.c +++ b/drivers/gpu/drm/udl/udl_transfer.c @@ -25,46 +25,6 @@ #define MIN_RAW_PIX_BYTES 2 #define MIN_RAW_CMD_BYTES (RAW_HEADER_BYTES + MIN_RAW_PIX_BYTES) -/* - * Trims identical data from front and back of line - * Sets new front buffer address and width - * And returns byte count of identical pixels - * Assumes CPU natural alignment (unsigned long) - * for back and front buffer ptrs and width - */ -#if 0 -static int udl_trim_hline(const u8 *bback, const u8 **bfront, int *width_bytes) -{ - int j, k; - const unsigned long *back = (const unsigned long *) bback; - const unsigned long *front = (const unsigned long *) *bfront; - const int width = *width_bytes / sizeof(unsigned long); - int identical = width; - int start = width; - int end = width; - - for (j = 0; j < width; j++) { - if (back[j] != front[j]) { - start = j; - break; - } - } - - for (k = width - 1; k > j; k--) { - if (back[k] != front[k]) { - end = k+1; - break; - } - } - - identical = start + (width - end); - *bfront = (u8 *) &front[start]; - *width_bytes = (end - start) * sizeof(unsigned long); - - return identical * sizeof(unsigned long); -} -#endif - static inline u16 pixel32_to_be16(const uint32_t pixel) { return (((pixel >> 3) & 0x001f) | -- 2.35.3