From patchwork Fri Aug 21 12:39:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Linus Walleij X-Patchwork-Id: 248120 Delivered-To: patch@linaro.org Received: by 2002:a05:6e02:522:0:0:0:0 with SMTP id h2csp310935ils; Fri, 21 Aug 2020 05:40:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxhH7hi4NJa/xnEH3JqrXg3QWRR61OmJhaWYgABGfWzX22M/MHbZOSjuo1RC5iWKdfMaDU9 X-Received: by 2002:a50:9996:: with SMTP id m22mr2025856edb.241.1598013610629; Fri, 21 Aug 2020 05:40:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1598013610; cv=none; d=google.com; s=arc-20160816; b=YhU/fIV+N8Cepxoog+0pvmsiFOrXnvI3D/lSTnf8QjSxqC01Fbg6w8hurBFGTQJJ7P XkGcF5JdeOA/lyK8ZUbu3LT0Z7evG0kLUORygS9AxaEdFyO53Hqc3MtazdfPzeaG0KR0 cEj1/lz4pXKOAM7+SIijn3i5NlEdJTVicO89rKHFYWt7sml1EAaZ8euYrnv6cGYE7FfD KcIf3jXEUYdbrJpiuG/2P7XaMqlAlcDgToJcYo3dPSyVL2clJt31KmIcxM1gBMyCFsyZ QEq5srCWvGOi8Mm9Z+ux++4j1gSU5CtsyWRS02dBUarq2Bu1Z8r7LJVG7CTPpS1dv4Fa ISOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=BgadfB5krB76vfFemnEl7mqgct62PL+apkSnkJxl7rU=; b=GGKQ48A3DRIv7sFTj5+72Npvv2wHMRbOFC/jufE76OPTry7ZGRMVXTkWT3ps/gpU65 jHyZf9c2yTk4Sy64ocCGA97sJ5LdZ66Mki0ARYtYFzSdnaRT0pL57/vy4LKKisvlibgO LbT/r9TC60yannHHNhAmjYqszIdr1zVIgixsMatomD40GyUCKz+Afm1dSIDvrYw/T/b2 yKkntvPHWENS0YFfbk+Nz1seT5GMzbIOI3yDmqEbuLVzUsxVVPty9z3bJfAtVIXaHACq MWRYEffy5UwVyIK66FSWKQ+PoWFVeaFgXOnl6ICpYis/wTyLq1Vj1eseKkeKkrFVu2Ep GLNw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ma7MklMj; spf=pass (google.com: domain of linux-arm-msm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-arm-msm-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a20si1178920eda.489.2020.08.21.05.40.10; Fri, 21 Aug 2020 05:40:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-arm-msm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ma7MklMj; spf=pass (google.com: domain of linux-arm-msm-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-arm-msm-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727837AbgHUMkH (ORCPT + 15 others); Fri, 21 Aug 2020 08:40:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55424 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728130AbgHUMju (ORCPT ); Fri, 21 Aug 2020 08:39:50 -0400 Received: from mail-lj1-x241.google.com (mail-lj1-x241.google.com [IPv6:2a00:1450:4864:20::241]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BCEFFC061342 for ; Fri, 21 Aug 2020 05:39:47 -0700 (PDT) Received: by mail-lj1-x241.google.com with SMTP id y2so1699896ljc.1 for ; Fri, 21 Aug 2020 05:39:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=BgadfB5krB76vfFemnEl7mqgct62PL+apkSnkJxl7rU=; b=ma7MklMjGebHXVITBxNbYWKvzeVCHEEv2w4uRwrCZWKJfCPo/Xohjc33bXMAFoZdZp Go2mliTpWUs1YKQsOazavcnLSoYEUB0nXNGKiOoFpMoA0S8Mb3Ppz/X1VDvRQoVr0+dB MYvzJJA6fv+pm/K4TXRGZV4efPJFJBTW896CgoLZNqsx2xpUCC0NEFAICsY5hwrJ/PdX D9r0Tpl81tj/65fnbK+GT6NITd3YgnIumqJliQZgXQxEDxgsVyYEJHMMW753jC1opnjy 56257a68ZMZ9hToPyc6zP9NJwLq2suunXtQBSKJJsihQWJuvYFPKncDGVnmpIlfSN1GW /R4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=BgadfB5krB76vfFemnEl7mqgct62PL+apkSnkJxl7rU=; b=cgUfNS6VHMnrMa3Du09RNdzW26sUHcodXXP6F1Gi/ZGNqV2r8EdzP5Ccdoe4D5IXfc maVn18BAt9Wlnk6IjCj+VRX7ws2BhzrBOZqPayqz04iwb6HzUNPjlLoyezRcWK0bv141 rqeZAlLwaDgm4iU+Qf8nWOqtMamM2+5m2mR5eG1QN3wgJTQgj9S+pr8Qrv73EI4gZYhG TEYTxn3no9AYbpRHRwG6DhTLhPPW5ZHORUVZ9pJFnv89KiEwOvnMI3R1cEIBglQpvefz TR/xMoP6oPjsOufMCzIYkZCgJ/QPdshr8OOBwqkmrMNkTbAKVDB+nusYSqMERwMDAY5U jyjg== X-Gm-Message-State: AOAM533EZH1RlT3DfVIDhKoF/WvtHaMV2j4/VEbjoO9pZiJuciCKXHMa 2s0pRDTl51e9TgB7P0CFEWwERQ== X-Received: by 2002:a2e:9946:: with SMTP id r6mr1453104ljj.35.1598013586176; Fri, 21 Aug 2020 05:39:46 -0700 (PDT) Received: from genomnajs.ideon.se ([85.235.10.227]) by smtp.gmail.com with ESMTPSA id s4sm360782lja.124.2020.08.21.05.39.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2020 05:39:45 -0700 (PDT) From: Linus Walleij To: Russell King Cc: linux-arm-kernel@lists.infradead.org, Andy Gross , Bjorn Andersson , linux-arm-msm@vger.kernel.org, Linus Walleij , Nicolas Pitre , Fabrizio Castro , Ard Biesheuvel Subject: [PATCH 3/3] ARM: uncompress: Wait for ready and busy in debug prints Date: Fri, 21 Aug 2020 14:39:36 +0200 Message-Id: <20200821123936.153793-4-linus.walleij@linaro.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200821123936.153793-1-linus.walleij@linaro.org> References: <20200821123936.153793-1-linus.walleij@linaro.org> MIME-Version: 1.0 Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org For some platforms such as Qualcomm we need to wait for the UART to be ready before writing characters to the UART in the same manner as the macro in debug.S used with the main "Uncompressing Linux ..." text. Pass an extra temporary variable to writeb and make it call waituarttxrdy and busyuart just like the other decomression messages. Optionally it will also call waituartcts if and only if CONFIG_DEBUG_UART_FLOW_CONTROL is selected. After this the decompression debug messages work fine on Qualcomm platforms if you compile head.S with -DDEBUG. Cc: Nicolas Pitre Cc: Fabrizio Castro Cc: Ard Biesheuvel Signed-off-by: Linus Walleij --- arch/arm/boot/compressed/head.S | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) -- 2.26.2 diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index ba121eea9468..5c9c6fe590cb 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -28,19 +28,19 @@ #if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7) .macro loadsp, rb, tmp1, tmp2 .endm - .macro writeb, ch, rb + .macro writeb, ch, rb, tmp mcr p14, 0, \ch, c0, c5, 0 .endm #elif defined(CONFIG_CPU_XSCALE) .macro loadsp, rb, tmp1, tmp2 .endm - .macro writeb, ch, rb + .macro writeb, ch, rb, tmp mcr p14, 0, \ch, c8, c0, 0 .endm #else .macro loadsp, rb, tmp1, tmp2 .endm - .macro writeb, ch, rb + .macro writeb, ch, rb, tmp mcr p14, 0, \ch, c1, c0, 0 .endm #endif @@ -49,8 +49,13 @@ #include CONFIG_DEBUG_LL_INCLUDE - .macro writeb, ch, rb + .macro writeb, ch, rb, tmp +#ifdef CONFIG_DEBUG_UART_FLOW_CONTROL + waituartcts \tmp, \rb +#endif + waituarttxrdy \tmp, \rb senduart \ch, \rb + busyuart \tmp, \rb .endm #if defined(CONFIG_ARCH_SA1100) @@ -1326,7 +1331,7 @@ puts: loadsp r3, r2, r1 1: ldrb r2, [r0], #1 teq r2, #0 moveq pc, lr -2: writeb r2, r3 +2: writeb r2, r3, r1 mov r1, #0x00020000 3: subs r1, r1, #1 bne 3b