From patchwork Tue Jan 5 16:31:14 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 563192 X-Patchwork-Delegate: agust@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id B120B140C08 for ; Wed, 6 Jan 2016 03:34:44 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b=C3Iu6xRC; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id AA62D4B8CA; Tue, 5 Jan 2016 17:33:07 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DyDUbqgvHCX8; Tue, 5 Jan 2016 17:33:07 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 73EDF4B881; Tue, 5 Jan 2016 17:32:23 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 1D2E84B827 for ; Tue, 5 Jan 2016 17:31:57 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aNLmdJxdrPOi for ; Tue, 5 Jan 2016 17:31:57 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mail-ob0-f182.google.com (mail-ob0-f182.google.com [209.85.214.182]) by theia.denx.de (Postfix) with ESMTPS id 5337C4B81A for ; Tue, 5 Jan 2016 17:31:42 +0100 (CET) Received: by mail-ob0-f182.google.com with SMTP id ba1so277770071obb.3 for ; Tue, 05 Jan 2016 08:31:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=cRTWSGOgN6tSG/sMFWH8DX9f8fI6Qcq5c8ID40Ps3lk=; b=C3Iu6xRCzVpT5cXQp5Mb0GzgFTn4RYMbCNWIw6+rwyoIfWSTYjW1NJ0BThHArpjXNa +QkrKjXYs9Qo4JE0vUX8NidiDJGefdaU199fHr+Zr81keYFUptZfWU1UaD7GXtc5N2+i Dy8QXSxsjqgpOwdNT/i1cTMTOnGS0bBAxW5W9rbHzd21ZbuQ2nOQM+52VgZpR0THa/xB tYrL2IlWPI3wDQeMNyiOmzisS+RdkdM+JdlwiaRmgcojuemXbbMfP0MSXjJJPyILsfQi sqPD36E2+RUbnna1SJB27CdoSwFhFpjQpFTVCsZtYbHGsXgi6RO69vhlwh/QYo7sgMOq oSBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=cRTWSGOgN6tSG/sMFWH8DX9f8fI6Qcq5c8ID40Ps3lk=; b=MCtT2IwgAjJKldVNQHFeq9a8G/n1KO416Y7zr7VSuACAsq3AwEbi2cHP1Fm6SebXQm XDmB7hJ5ZFmkBRQt3pawLIPrB/ciXvQxhnHQbrFl0pF9BPzKhdgBbybp0Vmgn/RG0Hg6 jhc4yFq/zAte0i5AxISsHE7v78lRMuwAewI2Gurr7zi1FHaAL9xN+OOJLwLKr3NuLwOz U7kuYclDAId1ieLDw9T4ML5TAIRjuiCHvRPabR7gpEqLpvfT8Th93Bw51hjO/Jo60qbk NEBxTqQVUWNcC6+Iy0QyaunpnOLbB4t5/sgnCLW6kpDv29m5scObZ+6t7kGBbKPG8Ezb BhjA== X-Gm-Message-State: ALoCoQmajvMLvYybrHRZ2HpoNoq52kUKw/TMtPDJN8rYr2ZbuN4G2SatmaAKEKNRGIzNbIMZg2XOydAlZe/R4zmy+fhUf0AboQ== X-Received: by 10.182.196.106 with SMTP id il10mr39633947obc.55.1452011501112; Tue, 05 Jan 2016 08:31:41 -0800 (PST) Received: from kaki.bld.corp.google.com ([2620:0:1005:1100:454a:66a4:44d1:f5cd]) by smtp.gmail.com with ESMTPSA id a65sm7697061oih.14.2016.01.05.08.31.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Jan 2016 08:31:39 -0800 (PST) Received: by kaki.bld.corp.google.com (Postfix, from userid 121222) id 048572227F7; Tue, 5 Jan 2016 09:31:31 -0700 (MST) From: Simon Glass To: U-Boot Mailing List Date: Tue, 5 Jan 2016 09:31:14 -0700 Message-Id: <1452011474-15207-19-git-send-email-sjg@chromium.org> X-Mailer: git-send-email 2.6.0.rc2.230.g3dd15c0 In-Reply-To: <1452011474-15207-1-git-send-email-sjg@chromium.org> References: <1452011474-15207-1-git-send-email-sjg@chromium.org> Subject: [U-Boot] [PATCH 18/18] dm: video: test: Test that bitmap display works correctly X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Add a test for the 'bmp' command. Test both the uncompressed and compressed versions of the file, since they use different code paths. Signed-off-by: Simon Glass Acked-by: Anatolij Gustschin --- include/configs/sandbox.h | 2 ++ test/dm/video.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++ tools/logos/denx-comp.bmp | Bin 0 -> 4148 bytes 3 files changed, 56 insertions(+) create mode 100644 tools/logos/denx-comp.bmp diff --git a/tools/logos/denx-comp.bmp b/tools/logos/denx-comp.bmp new file mode 100644 index 0000000000000000000000000000000000000000..89d0f471c85cf734b5f0e2bb2508d39f5b9e72b8 GIT binary patch literal 4148 zcmeH}JBVCW7{|ZwzF%|i?CfTD_HOoU9!9h=1``B36GbeO{DjKjbg$6`yOp(GSK^vPDZ4|D*@7%dFJBwIaNQOOg&pqGkfBxTN_VhC+$KpTl zMjrIN8kJ}yPxm@R)`htdsy{^j&j&%I?E`#k@-`>WrHoIihlzQ6JN0~jqn zgj@QYdis={dEtzlefg}Md-I%Jc;|v#ymV16eQ-%Ge{@-{esWc=eRfT*e|=qUet%PL z-M%Gvf4(cbzwOE+Uv%>LSDie2qmviE>E!kAI(hqtPTu>mlMioqa^BEe!{g)#(V#agEl14zzi`$D5%s zxvl-43?GQ2u=fRGtroue`*EhW8*bbC<23pwk6<$|S%ii0Z3uJEc#jXcv7GY;|I2=J zI80oxtto8I8H88-S>z!r#$nX^3R3cI@dkvwSE2+I!R#E}O7UP(dtagDZ5DxiRH0|p zvZsmZ_psiY%J!PM>Cvgg|EaU=*9hM2-d+rSlF99rv%HBrE8$qkSAG84r2S)au+;Mba+VaPEupqD(fNijN5a5?<=l0?(F@z`ACBj?_jnQtBYZ+63f`MIj6;gun?rwc6r?C zmac1i%xSCZVmuZjv<{Jpk?eTP;B1pdx3`>bCXE>Wa6*1sdX;BzaITd#I^J+OI;A^+ zmnk>pS+{eIqR|#CTLn7wfKIvZ8ojnDn{%D2S#cHe%pJ5$gj+J5%SMeJgq7_P^3*xl zAU-}e<{C8-N~hx*jl}K1D|brJ$roN4ZbS6#2A$Z|)Cd)tYhX9$b~Ps@IV?3{#^iHk z+b}h$o7@p&q8nDP71c_AMu1ot($tDN3OtQ(PU_Wk!h*b1dWV!+K!$mIab=2R{Z z&*a=5jl3!58s>+7%lNGt^;%T!Bty$`YI;nhI+G3f&d|)|g!eVZi?T|uk&`Kt;-wzs zx`GGuvc1qbMx`F{_A4e~Ro*_M3iip`y)x$AvgPWMH2YWSlC6$Ya=2t2ne}0^PM8-V@5Ha6+z%rsSY&a=hTS*tJRO5e`h+?=;2B=o!>DD? ze-eNtHm zlnpbYM03$2v1{xXCe?V%IX#%tf%Xd=F+=)&sS!O|@|(M@o4Pvd#Z_&s*AHX$7=55E z{XL<-C)VGoJ7n0BM{VA;bnbMR4jI#dD$h?Do|eh7HB1&Xvu(1)bV@*wPQj|}FqaIy zO{R4^9mbM%n}}`Mta4jF9jlfcFd1`j1`~_k=1o5ri5D?5GRyrsQP>Aq=iDlT>0!=J xZO)RVl5uUE)G_*-_8u``QZKPxq!rV&4Qw8@)aGW0-441JsjvUhv$Xq&{tYdt;;8@t literal 0 HcmV?d00001 diff --git a/include/configs/sandbox.h b/include/configs/sandbox.h index 23ae44c..6498981 100644 --- a/include/configs/sandbox.h +++ b/include/configs/sandbox.h @@ -163,6 +163,8 @@ #define CONFIG_SYS_CONSOLE_IS_IN_ENV #define LCD_BPP LCD_COLOR16 #define CONFIG_LCD_BMP_RLE8 +#define CONFIG_VIDEO_BMP_RLE8 +#define CONFIG_SPLASH_SCREEN_ALIGN #define CONFIG_KEYBOARD diff --git a/test/dm/video.c b/test/dm/video.c index a5332fa..52aba2e 100644 --- a/test/dm/video.c +++ b/test/dm/video.c @@ -215,3 +215,57 @@ static int dm_test_video_rotation3(struct unit_test_state *uts) return 0; } DM_TEST(dm_test_video_rotation3, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); + +/* Read a file into memory and return a pointer to it */ +static int read_file(struct unit_test_state *uts, const char *fname, + ulong *addrp) +{ + int buf_size = 100000; + ulong addr = 0; + int size, fd; + char *buf; + + buf = map_sysmem(addr, 0); + ut_assert(buf != NULL); + fd = os_open(fname, OS_O_RDONLY); + ut_assert(fd >= 0); + size = os_read(fd, buf, buf_size); + ut_assert(size >= 0); + ut_assert(size < buf_size); + os_close(fd); + *addrp = addr; + + return 0; +} + +/* Test drawing a bitmap file */ +static int dm_test_video_bmp(struct unit_test_state *uts) +{ + struct udevice *dev; + ulong addr; + + ut_assertok(uclass_get_device(UCLASS_VIDEO, 0, &dev)); + ut_assertok(read_file(uts, "tools/logos/denx.bmp", &addr)); + + ut_assertok(video_bmp_display(dev, addr, 0, 0, false)); + ut_asserteq(1368, compress_frame_buffer(dev)); + + return 0; +} +DM_TEST(dm_test_video_bmp, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); + +/* Test drawing a compressed bitmap file */ +static int dm_test_video_bmp_comp(struct unit_test_state *uts) +{ + struct udevice *dev; + ulong addr; + + ut_assertok(uclass_get_device(UCLASS_VIDEO, 0, &dev)); + ut_assertok(read_file(uts, "tools/logos/denx-comp.bmp", &addr)); + + ut_assertok(video_bmp_display(dev, addr, 0, 0, false)); + ut_asserteq(1368, compress_frame_buffer(dev)); + + return 0; +} +DM_TEST(dm_test_video_bmp_comp, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT);