From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 95730C433DF for ; Fri, 14 Aug 2020 07:28:50 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id F317520639 for ; Fri, 14 Aug 2020 07:28:49 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="iBnegtxD"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="QQDhNcV9" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F317520639 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Tp2Cq5JqQD2cV2cxzGrNugp9prshLzbCWUqK3ayKw4E=; b=iBnegtxDb49hGmj09hH5dNaqm fqsbhgSb0c7gsSxTBffkjcLuDjUC7W33zIEHXLZBh2aU+qru581moVLpeBEhAhy2nyClXYqomQbLq tLqW8mvkHQdInqQWiplTob+AA97OsxXGw1mntiNiIVWWiR1Oh5KN7TiRkGvUJmyodA6smmQzDktzS CvH8w4P7I0XtmqvbaEI4bxSssDooQfW0yeH6rxDKz+myU9pvbybO8eeVYbK9aCk0YHXUfsAo4R9fn YEXO+CQbu81MnQJomvuDKjpbdz21mSzRw4dzelUcGmbC54L2SAoemtEXNmA9mjvXCkwjouj3jiLOE Qsh3+31aA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k6U8c-0006ck-LA; Fri, 14 Aug 2020 07:28:30 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k6U3x-0003N6-9r; Fri, 14 Aug 2020 07:23:45 +0000 X-UUID: 8e5c3bd6a516458ab30ca3a2da6abe9d-20200813 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=zkQYyfwS9UgwXr6JLjB5UfXEi9ckyZqx+wdM0FayS18=; b=QQDhNcV9pW/+PUFQZhwErT+W8WpWtxChl/9NuWcIWmdxHJ+1+fn+QTvo7DW9pHjrDab5vzfkxWooin3LrCRHMlG+i9rAB8xNjkprCDF7AkDN6fnhQ4GC8i5jjee81LGF811BY1SBdSBAqGgGLPSx0+yJ/1MhifRO2jh9W2LeM/c=; X-UUID: 8e5c3bd6a516458ab30ca3a2da6abe9d-20200813 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 1094465950; Thu, 13 Aug 2020 23:23:16 -0800 Received: from MTKMBS07N2.mediatek.inc (172.21.101.141) by MTKMBS62DR.mediatek.inc (172.29.94.18) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 00:13:39 -0700 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n2.mediatek.inc (172.21.101.141) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 15:13:35 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 14 Aug 2020 15:13:34 +0800 From: Xia Jiang To: Hans Verkuil , Mauro Carvalho Chehab , Rob Herring , "Matthias Brugger" , Rick Chang Subject: [PATCH v12 27/29] media: platform: Rename existing functions/defines/variables Date: Fri, 14 Aug 2020 15:12:00 +0800 Message-ID: <20200814071202.25067-29-xia.jiang@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200814071202.25067-1-xia.jiang@mediatek.com> References: <20200814071202.25067-1-xia.jiang@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200814_032341_592044_AD6E348F X-CRM114-Status: GOOD ( 18.88 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: maoguang.meng@mediatek.com, devicetree@vger.kernel.org, mojahsu@chromium.org, srv_heupstream@mediatek.com, linux-kernel@vger.kernel.org, Tomasz Figa , senozhatsky@chromium.org, drinkcat@chromium.org, linux-mediatek@lists.infradead.org, Xia Jiang , linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Marek Szyprowski Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org Rename existing functions/defines/variables with a _dec prefix and without dec_ prefix to prepare for the addition of the jpeg encoder feature. Reviewed-by: Tomasz Figa Signed-off-by: Xia Jiang --- v12: no changes --- .../media/platform/mtk-jpeg/mtk_jpeg_core.c | 172 +++++++++--------- .../media/platform/mtk-jpeg/mtk_jpeg_core.h | 12 +- .../media/platform/mtk-jpeg/mtk_jpeg_dec_hw.h | 5 +- 3 files changed, 97 insertions(+), 92 deletions(-) diff --git a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c index 5e57aed2e90f..3d1383d2eac4 100644 --- a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c +++ b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c @@ -27,11 +27,11 @@ #include "mtk_jpeg_core.h" #include "mtk_jpeg_dec_parse.h" -static struct mtk_jpeg_fmt mtk_jpeg_formats[] = { +static struct mtk_jpeg_fmt mtk_jpeg_dec_formats[] = { { .fourcc = V4L2_PIX_FMT_JPEG, .colplanes = 1, - .flags = MTK_JPEG_FMT_FLAG_DEC_OUTPUT, + .flags = MTK_JPEG_FMT_FLAG_OUTPUT, }, { .fourcc = V4L2_PIX_FMT_YUV420M, @@ -40,7 +40,7 @@ static struct mtk_jpeg_fmt mtk_jpeg_formats[] = { .colplanes = 3, .h_align = 5, .v_align = 4, - .flags = MTK_JPEG_FMT_FLAG_DEC_CAPTURE, + .flags = MTK_JPEG_FMT_FLAG_CAPTURE, }, { .fourcc = V4L2_PIX_FMT_YUV422M, @@ -49,11 +49,11 @@ static struct mtk_jpeg_fmt mtk_jpeg_formats[] = { .colplanes = 3, .h_align = 5, .v_align = 3, - .flags = MTK_JPEG_FMT_FLAG_DEC_CAPTURE, + .flags = MTK_JPEG_FMT_FLAG_CAPTURE, }, }; -#define MTK_JPEG_NUM_FORMATS ARRAY_SIZE(mtk_jpeg_formats) +#define MTK_JPEG_DEC_NUM_FORMATS ARRAY_SIZE(mtk_jpeg_dec_formats) struct mtk_jpeg_src_buf { struct vb2_v4l2_buffer b; @@ -112,15 +112,15 @@ static int mtk_jpeg_enum_fmt(struct mtk_jpeg_fmt *mtk_jpeg_formats, int n, static int mtk_jpeg_enum_fmt_vid_cap(struct file *file, void *priv, struct v4l2_fmtdesc *f) { - return mtk_jpeg_enum_fmt(mtk_jpeg_formats, MTK_JPEG_NUM_FORMATS, f, - MTK_JPEG_FMT_FLAG_DEC_CAPTURE); + return mtk_jpeg_enum_fmt(mtk_jpeg_dec_formats, MTK_JPEG_DEC_NUM_FORMATS, + f, MTK_JPEG_FMT_FLAG_CAPTURE); } static int mtk_jpeg_enum_fmt_vid_out(struct file *file, void *priv, struct v4l2_fmtdesc *f) { - return mtk_jpeg_enum_fmt(mtk_jpeg_formats, MTK_JPEG_NUM_FORMATS, f, - MTK_JPEG_FMT_FLAG_DEC_OUTPUT); + return mtk_jpeg_enum_fmt(mtk_jpeg_dec_formats, MTK_JPEG_DEC_NUM_FORMATS, + f, MTK_JPEG_FMT_FLAG_OUTPUT); } static struct mtk_jpeg_q_data *mtk_jpeg_get_q_data(struct mtk_jpeg_ctx *ctx, @@ -246,9 +246,10 @@ static int mtk_jpeg_try_fmt_vid_cap_mplane(struct file *file, void *priv, struct mtk_jpeg_ctx *ctx = mtk_jpeg_fh_to_ctx(priv); struct mtk_jpeg_fmt *fmt; - fmt = mtk_jpeg_find_format(mtk_jpeg_formats, MTK_JPEG_NUM_FORMATS, + fmt = mtk_jpeg_find_format(mtk_jpeg_dec_formats, + MTK_JPEG_DEC_NUM_FORMATS, f->fmt.pix_mp.pixelformat, - MTK_JPEG_FMT_FLAG_DEC_CAPTURE); + MTK_JPEG_FMT_FLAG_CAPTURE); if (!fmt) fmt = ctx->cap_q.fmt; @@ -273,9 +274,10 @@ static int mtk_jpeg_try_fmt_vid_out_mplane(struct file *file, void *priv, struct mtk_jpeg_ctx *ctx = mtk_jpeg_fh_to_ctx(priv); struct mtk_jpeg_fmt *fmt; - fmt = mtk_jpeg_find_format(mtk_jpeg_formats, MTK_JPEG_NUM_FORMATS, + fmt = mtk_jpeg_find_format(mtk_jpeg_dec_formats, + MTK_JPEG_DEC_NUM_FORMATS, f->fmt.pix_mp.pixelformat, - MTK_JPEG_FMT_FLAG_DEC_OUTPUT); + MTK_JPEG_FMT_FLAG_OUTPUT); if (!fmt) fmt = ctx->out_q.fmt; @@ -315,8 +317,8 @@ static int mtk_jpeg_s_fmt_mplane(struct mtk_jpeg_ctx *ctx, } - q_data->fmt = mtk_jpeg_find_format(mtk_jpeg_formats, - MTK_JPEG_NUM_FORMATS, + q_data->fmt = mtk_jpeg_find_format(mtk_jpeg_dec_formats, + MTK_JPEG_DEC_NUM_FORMATS, pix_mp->pixelformat, fmt_type); q_data->pix_mp.width = pix_mp->width; q_data->pix_mp.height = pix_mp->height; @@ -358,7 +360,7 @@ static int mtk_jpeg_s_fmt_vid_out_mplane(struct file *file, void *priv, return ret; return mtk_jpeg_s_fmt_mplane(mtk_jpeg_fh_to_ctx(priv), f, - MTK_JPEG_FMT_FLAG_DEC_OUTPUT); + MTK_JPEG_FMT_FLAG_OUTPUT); } static int mtk_jpeg_s_fmt_vid_cap_mplane(struct file *file, void *priv, @@ -371,7 +373,7 @@ static int mtk_jpeg_s_fmt_vid_cap_mplane(struct file *file, void *priv, return ret; return mtk_jpeg_s_fmt_mplane(mtk_jpeg_fh_to_ctx(priv), f, - MTK_JPEG_FMT_FLAG_DEC_CAPTURE); + MTK_JPEG_FMT_FLAG_CAPTURE); } static void mtk_jpeg_queue_src_chg_event(struct mtk_jpeg_ctx *ctx) @@ -396,8 +398,8 @@ static int mtk_jpeg_subscribe_event(struct v4l2_fh *fh, return v4l2_ctrl_subscribe_event(fh, sub); } -static int mtk_jpeg_g_selection(struct file *file, void *priv, - struct v4l2_selection *s) +static int mtk_jpeg_dec_g_selection(struct file *file, void *priv, + struct v4l2_selection *s) { struct mtk_jpeg_ctx *ctx = mtk_jpeg_fh_to_ctx(priv); @@ -425,7 +427,7 @@ static int mtk_jpeg_g_selection(struct file *file, void *priv, return 0; } -static const struct v4l2_ioctl_ops mtk_jpeg_ioctl_ops = { +static const struct v4l2_ioctl_ops mtk_jpeg_dec_ioctl_ops = { .vidioc_querycap = mtk_jpeg_querycap, .vidioc_enum_fmt_vid_cap = mtk_jpeg_enum_fmt_vid_cap, .vidioc_enum_fmt_vid_out = mtk_jpeg_enum_fmt_vid_out, @@ -437,7 +439,7 @@ static const struct v4l2_ioctl_ops mtk_jpeg_ioctl_ops = { .vidioc_s_fmt_vid_out_mplane = mtk_jpeg_s_fmt_vid_out_mplane, .vidioc_qbuf = v4l2_m2m_ioctl_qbuf, .vidioc_subscribe_event = mtk_jpeg_subscribe_event, - .vidioc_g_selection = mtk_jpeg_g_selection, + .vidioc_g_selection = mtk_jpeg_dec_g_selection, .vidioc_create_bufs = v4l2_m2m_ioctl_create_bufs, .vidioc_prepare_buf = v4l2_m2m_ioctl_prepare_buf, @@ -517,9 +519,9 @@ static bool mtk_jpeg_check_resolution_change(struct mtk_jpeg_ctx *ctx, } q_data = &ctx->cap_q; - if (q_data->fmt != mtk_jpeg_find_format(mtk_jpeg_formats, - MTK_JPEG_NUM_FORMATS, param->dst_fourcc, - MTK_JPEG_FMT_FLAG_DEC_CAPTURE)) { + if (q_data->fmt != mtk_jpeg_find_format(mtk_jpeg_dec_formats, + MTK_JPEG_DEC_NUM_FORMATS, param->dst_fourcc, + MTK_JPEG_FMT_FLAG_CAPTURE)) { v4l2_dbg(1, debug, &jpeg->v4l2_dev, "format change\n"); return true; } @@ -540,10 +542,10 @@ static void mtk_jpeg_set_queue_data(struct mtk_jpeg_ctx *ctx, q_data = &ctx->cap_q; q_data->pix_mp.width = param->dec_w; q_data->pix_mp.height = param->dec_h; - q_data->fmt = mtk_jpeg_find_format(mtk_jpeg_formats, - MTK_JPEG_NUM_FORMATS, + q_data->fmt = mtk_jpeg_find_format(mtk_jpeg_dec_formats, + MTK_JPEG_DEC_NUM_FORMATS, param->dst_fourcc, - MTK_JPEG_FMT_FLAG_DEC_CAPTURE); + MTK_JPEG_FMT_FLAG_CAPTURE); for (i = 0; i < q_data->fmt->colplanes; i++) { q_data->pix_mp.plane_fmt[i].bytesperline = param->mem_stride[i]; @@ -560,7 +562,7 @@ static void mtk_jpeg_set_queue_data(struct mtk_jpeg_ctx *ctx, param->dec_w, param->dec_h); } -static void mtk_jpeg_buf_queue(struct vb2_buffer *vb) +static void mtk_jpeg_dec_buf_queue(struct vb2_buffer *vb) { struct mtk_jpeg_ctx *ctx = vb2_get_drv_priv(vb->vb2_queue); struct mtk_jpeg_dec_param *param; @@ -608,7 +610,7 @@ static struct vb2_v4l2_buffer *mtk_jpeg_buf_remove(struct mtk_jpeg_ctx *ctx, return v4l2_m2m_dst_buf_remove(ctx->fh.m2m_ctx); } -static void mtk_jpeg_stop_streaming(struct vb2_queue *q) +static void mtk_jpeg_dec_stop_streaming(struct vb2_queue *q) { struct mtk_jpeg_ctx *ctx = vb2_get_drv_priv(q); struct vb2_v4l2_buffer *vb; @@ -634,13 +636,13 @@ static void mtk_jpeg_stop_streaming(struct vb2_queue *q) v4l2_m2m_buf_done(vb, VB2_BUF_STATE_ERROR); } -static const struct vb2_ops mtk_jpeg_qops = { +static const struct vb2_ops mtk_jpeg_dec_qops = { .queue_setup = mtk_jpeg_queue_setup, .buf_prepare = mtk_jpeg_buf_prepare, - .buf_queue = mtk_jpeg_buf_queue, + .buf_queue = mtk_jpeg_dec_buf_queue, .wait_prepare = vb2_ops_wait_prepare, .wait_finish = vb2_ops_wait_finish, - .stop_streaming = mtk_jpeg_stop_streaming, + .stop_streaming = mtk_jpeg_dec_stop_streaming, }; static void mtk_jpeg_set_dec_src(struct mtk_jpeg_ctx *ctx, @@ -680,7 +682,7 @@ static int mtk_jpeg_set_dec_dst(struct mtk_jpeg_ctx *ctx, return 0; } -static void mtk_jpeg_device_run(void *priv) +static void mtk_jpeg_dec_device_run(void *priv) { struct mtk_jpeg_ctx *ctx = priv; struct mtk_jpeg_dev *jpeg = ctx->jpeg; @@ -715,11 +717,11 @@ static void mtk_jpeg_device_run(void *priv) goto dec_end; spin_lock_irqsave(&jpeg->hw_lock, flags); - mtk_jpeg_dec_reset(jpeg->dec_reg_base); - mtk_jpeg_dec_set_config(jpeg->dec_reg_base, + mtk_jpeg_dec_reset(jpeg->reg_base); + mtk_jpeg_dec_set_config(jpeg->reg_base, &jpeg_src_buf->dec_param, &bs, &fb); - mtk_jpeg_dec_start(jpeg->dec_reg_base); + mtk_jpeg_dec_start(jpeg->reg_base); spin_unlock_irqrestore(&jpeg->hw_lock, flags); return; @@ -731,16 +733,16 @@ static void mtk_jpeg_device_run(void *priv) v4l2_m2m_job_finish(jpeg->m2m_dev, ctx->fh.m2m_ctx); } -static int mtk_jpeg_job_ready(void *priv) +static int mtk_jpeg_dec_job_ready(void *priv) { struct mtk_jpeg_ctx *ctx = priv; return (ctx->state == MTK_JPEG_RUNNING) ? 1 : 0; } -static const struct v4l2_m2m_ops mtk_jpeg_m2m_ops = { - .device_run = mtk_jpeg_device_run, - .job_ready = mtk_jpeg_job_ready, +static const struct v4l2_m2m_ops mtk_jpeg_dec_m2m_ops = { + .device_run = mtk_jpeg_dec_device_run, + .job_ready = mtk_jpeg_dec_job_ready, }; static int mtk_jpeg_queue_init(void *priv, struct vb2_queue *src_vq, @@ -753,7 +755,7 @@ static int mtk_jpeg_queue_init(void *priv, struct vb2_queue *src_vq, src_vq->io_modes = VB2_DMABUF | VB2_MMAP; src_vq->drv_priv = ctx; src_vq->buf_struct_size = sizeof(struct mtk_jpeg_src_buf); - src_vq->ops = &mtk_jpeg_qops; + src_vq->ops = &mtk_jpeg_dec_qops; src_vq->mem_ops = &vb2_dma_contig_memops; src_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY; src_vq->lock = &ctx->jpeg->lock; @@ -766,7 +768,7 @@ static int mtk_jpeg_queue_init(void *priv, struct vb2_queue *src_vq, dst_vq->io_modes = VB2_DMABUF | VB2_MMAP; dst_vq->drv_priv = ctx; dst_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer); - dst_vq->ops = &mtk_jpeg_qops; + dst_vq->ops = &mtk_jpeg_dec_qops; dst_vq->mem_ops = &vb2_dma_contig_memops; dst_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY; dst_vq->lock = &ctx->jpeg->lock; @@ -808,7 +810,7 @@ static irqreturn_t mtk_jpeg_dec_irq(int irq, void *priv) cancel_delayed_work(&jpeg->job_timeout_work); - dec_ret = mtk_jpeg_dec_get_int_status(jpeg->dec_reg_base); + dec_ret = mtk_jpeg_dec_get_int_status(jpeg->reg_base); dec_irq_ret = mtk_jpeg_dec_enum_result(dec_ret); ctx = v4l2_m2m_get_curr_priv(jpeg->m2m_dev); if (!ctx) { @@ -821,7 +823,7 @@ static irqreturn_t mtk_jpeg_dec_irq(int irq, void *priv) jpeg_src_buf = mtk_jpeg_vb2_to_srcbuf(&src_buf->vb2_buf); if (dec_irq_ret >= MTK_JPEG_DEC_RESULT_UNDERFLOW) - mtk_jpeg_dec_reset(jpeg->dec_reg_base); + mtk_jpeg_dec_reset(jpeg->reg_base); if (dec_irq_ret != MTK_JPEG_DEC_RESULT_EOF_DONE) { dev_err(jpeg->dev, "decode failed\n"); @@ -851,17 +853,19 @@ static void mtk_jpeg_set_default_params(struct mtk_jpeg_ctx *ctx) q->pix_mp.quantization = V4L2_QUANTIZATION_FULL_RANGE; q->pix_mp.xfer_func = V4L2_XFER_FUNC_SRGB; - q->fmt = mtk_jpeg_find_format(mtk_jpeg_formats, MTK_JPEG_NUM_FORMATS, + q->fmt = mtk_jpeg_find_format(mtk_jpeg_dec_formats, + MTK_JPEG_DEC_NUM_FORMATS, V4L2_PIX_FMT_JPEG, - MTK_JPEG_FMT_FLAG_DEC_OUTPUT); + MTK_JPEG_FMT_FLAG_OUTPUT); q->pix_mp.width = MTK_JPEG_MIN_WIDTH; q->pix_mp.height = MTK_JPEG_MIN_HEIGHT; mtk_jpeg_try_fmt_mplane(&q->pix_mp, q->fmt); q = &ctx->cap_q; - q->fmt = mtk_jpeg_find_format(mtk_jpeg_formats, MTK_JPEG_NUM_FORMATS, + q->fmt = mtk_jpeg_find_format(mtk_jpeg_dec_formats, + MTK_JPEG_DEC_NUM_FORMATS, V4L2_PIX_FMT_YUV420M, - MTK_JPEG_FMT_FLAG_DEC_CAPTURE); + MTK_JPEG_FMT_FLAG_CAPTURE); q->pix_mp.colorspace = V4L2_COLORSPACE_SRGB; q->pix_mp.ycbcr_enc = V4L2_YCBCR_ENC_601; q->pix_mp.quantization = V4L2_QUANTIZATION_FULL_RANGE; @@ -981,7 +985,7 @@ static void mtk_jpeg_job_timeout_work(struct work_struct *work) src_buf = v4l2_m2m_src_buf_remove(ctx->fh.m2m_ctx); dst_buf = v4l2_m2m_dst_buf_remove(ctx->fh.m2m_ctx); - mtk_jpeg_dec_reset(jpeg->dec_reg_base); + mtk_jpeg_dec_reset(jpeg->reg_base); pm_runtime_put(jpeg->dev); @@ -993,7 +997,7 @@ static int mtk_jpeg_probe(struct platform_device *pdev) { struct mtk_jpeg_dev *jpeg; struct resource *res; - int dec_irq; + int jpeg_irq; int ret; jpeg = devm_kzalloc(&pdev->dev, sizeof(*jpeg), GFP_KERNEL); @@ -1006,23 +1010,23 @@ static int mtk_jpeg_probe(struct platform_device *pdev) INIT_DELAYED_WORK(&jpeg->job_timeout_work, mtk_jpeg_job_timeout_work); res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - jpeg->dec_reg_base = devm_ioremap_resource(&pdev->dev, res); - if (IS_ERR(jpeg->dec_reg_base)) { - ret = PTR_ERR(jpeg->dec_reg_base); + jpeg->reg_base = devm_ioremap_resource(&pdev->dev, res); + if (IS_ERR(jpeg->reg_base)) { + ret = PTR_ERR(jpeg->reg_base); return ret; } - dec_irq = platform_get_irq(pdev, 0); - if (dec_irq < 0) { - dev_err(&pdev->dev, "Failed to get dec_irq %d.\n", dec_irq); - return dec_irq; + jpeg_irq = platform_get_irq(pdev, 0); + if (jpeg_irq < 0) { + dev_err(&pdev->dev, "Failed to get jpeg_irq %d.\n", jpeg_irq); + return jpeg_irq; } - ret = devm_request_irq(&pdev->dev, dec_irq, mtk_jpeg_dec_irq, 0, + ret = devm_request_irq(&pdev->dev, jpeg_irq, mtk_jpeg_dec_irq, 0, pdev->name, jpeg); if (ret) { - dev_err(&pdev->dev, "Failed to request dec_irq %d (%d)\n", - dec_irq, ret); + dev_err(&pdev->dev, "Failed to request jpeg_irq %d (%d)\n", + jpeg_irq, ret); goto err_req_irq; } @@ -1039,40 +1043,40 @@ static int mtk_jpeg_probe(struct platform_device *pdev) goto err_dev_register; } - jpeg->m2m_dev = v4l2_m2m_init(&mtk_jpeg_m2m_ops); + jpeg->m2m_dev = v4l2_m2m_init(&mtk_jpeg_dec_m2m_ops); if (IS_ERR(jpeg->m2m_dev)) { v4l2_err(&jpeg->v4l2_dev, "Failed to init mem2mem device\n"); ret = PTR_ERR(jpeg->m2m_dev); goto err_m2m_init; } - jpeg->dec_vdev = video_device_alloc(); - if (!jpeg->dec_vdev) { + jpeg->vdev = video_device_alloc(); + if (!jpeg->vdev) { ret = -ENOMEM; - goto err_dec_vdev_alloc; + goto err_vfd_jpeg_alloc; } - snprintf(jpeg->dec_vdev->name, sizeof(jpeg->dec_vdev->name), + snprintf(jpeg->vdev->name, sizeof(jpeg->vdev->name), "%s-dec", MTK_JPEG_NAME); - jpeg->dec_vdev->fops = &mtk_jpeg_fops; - jpeg->dec_vdev->ioctl_ops = &mtk_jpeg_ioctl_ops; - jpeg->dec_vdev->minor = -1; - jpeg->dec_vdev->release = video_device_release; - jpeg->dec_vdev->lock = &jpeg->lock; - jpeg->dec_vdev->v4l2_dev = &jpeg->v4l2_dev; - jpeg->dec_vdev->vfl_dir = VFL_DIR_M2M; - jpeg->dec_vdev->device_caps = V4L2_CAP_STREAMING | - V4L2_CAP_VIDEO_M2M_MPLANE; - - ret = video_register_device(jpeg->dec_vdev, VFL_TYPE_VIDEO, -1); + jpeg->vdev->fops = &mtk_jpeg_fops; + jpeg->vdev->ioctl_ops = &mtk_jpeg_dec_ioctl_ops; + jpeg->vdev->minor = -1; + jpeg->vdev->release = video_device_release; + jpeg->vdev->lock = &jpeg->lock; + jpeg->vdev->v4l2_dev = &jpeg->v4l2_dev; + jpeg->vdev->vfl_dir = VFL_DIR_M2M; + jpeg->vdev->device_caps = V4L2_CAP_STREAMING | + V4L2_CAP_VIDEO_M2M_MPLANE; + + ret = video_register_device(jpeg->vdev, VFL_TYPE_VIDEO, -1); if (ret) { v4l2_err(&jpeg->v4l2_dev, "Failed to register video device\n"); - goto err_dec_vdev_register; + goto err_vfd_jpeg_register; } - video_set_drvdata(jpeg->dec_vdev, jpeg); + video_set_drvdata(jpeg->vdev, jpeg); v4l2_info(&jpeg->v4l2_dev, "decoder device registered as /dev/video%d (%d,%d)\n", - jpeg->dec_vdev->num, VIDEO_MAJOR, jpeg->dec_vdev->minor); + jpeg->vdev->num, VIDEO_MAJOR, jpeg->vdev->minor); platform_set_drvdata(pdev, jpeg); @@ -1080,10 +1084,10 @@ static int mtk_jpeg_probe(struct platform_device *pdev) return 0; -err_dec_vdev_register: - video_device_release(jpeg->dec_vdev); +err_vfd_jpeg_register: + video_device_release(jpeg->vdev); -err_dec_vdev_alloc: +err_vfd_jpeg_alloc: v4l2_m2m_release(jpeg->m2m_dev); err_m2m_init: @@ -1103,8 +1107,8 @@ static int mtk_jpeg_remove(struct platform_device *pdev) struct mtk_jpeg_dev *jpeg = platform_get_drvdata(pdev); pm_runtime_disable(&pdev->dev); - video_unregister_device(jpeg->dec_vdev); - video_device_release(jpeg->dec_vdev); + video_unregister_device(jpeg->vdev); + video_device_release(jpeg->vdev); v4l2_m2m_release(jpeg->m2m_dev); v4l2_device_unregister(&jpeg->v4l2_dev); diff --git a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.h b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.h index a54e1e82e655..0f27480dd90d 100644 --- a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.h +++ b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.h @@ -17,8 +17,8 @@ #define MTK_JPEG_COMP_MAX 3 -#define MTK_JPEG_FMT_FLAG_DEC_OUTPUT BIT(0) -#define MTK_JPEG_FMT_FLAG_DEC_CAPTURE BIT(1) +#define MTK_JPEG_FMT_FLAG_OUTPUT BIT(0) +#define MTK_JPEG_FMT_FLAG_CAPTURE BIT(1) #define MTK_JPEG_MIN_WIDTH 32U #define MTK_JPEG_MIN_HEIGHT 32U @@ -50,8 +50,8 @@ enum mtk_jpeg_ctx_state { * @v4l2_dev: v4l2 device for mem2mem mode * @m2m_dev: v4l2 mem2mem device data * @alloc_ctx: videobuf2 memory allocator's context - * @dec_vdev: video device node for decoder mem2mem mode - * @dec_reg_base: JPEG registers mapping + * @vdev: video device node for jpeg mem2mem mode + * @reg_base: JPEG registers mapping * @clks: clock names * @num_clks: numbers of clock * @larb: SMI device @@ -65,8 +65,8 @@ struct mtk_jpeg_dev { struct v4l2_device v4l2_dev; struct v4l2_m2m_dev *m2m_dev; void *alloc_ctx; - struct video_device *dec_vdev; - void __iomem *dec_reg_base; + struct video_device *vdev; + void __iomem *reg_base; struct clk_bulk_data *clks; int num_clks; struct device *larb; diff --git a/drivers/media/platform/mtk-jpeg/mtk_jpeg_dec_hw.h b/drivers/media/platform/mtk-jpeg/mtk_jpeg_dec_hw.h index 1cc37dbfc8e7..fa0d45fd7c34 100644 --- a/drivers/media/platform/mtk-jpeg/mtk_jpeg_dec_hw.h +++ b/drivers/media/platform/mtk-jpeg/mtk_jpeg_dec_hw.h @@ -3,10 +3,11 @@ * Copyright (c) 2016 MediaTek Inc. * Author: Ming Hsiu Tsai * Rick Chang + * Xia Jiang */ -#ifndef _MTK_JPEG_HW_H -#define _MTK_JPEG_HW_H +#ifndef _MTK_JPEG_DEC_HW_H +#define _MTK_JPEG_DEC_HW_H #include -- 2.18.0 _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 34F50C433E1 for ; Fri, 14 Aug 2020 07:32:01 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9622F20639 for ; Fri, 14 Aug 2020 07:32:00 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="WegRCi00"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="QQDhNcV9" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9622F20639 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=jtYwIDHpH4m/8Oe9RqfLIBqqzTSiAhAJ2sTVzmkHFCk=; b=WegRCi002t1P9PgA0oZdsGfEh AfuDOEt29GRz6ipYq6Yco8s6wR9YOSYU3WAt3hZqkZuiHpbZyZBG8V+Sjmg18EII1tSaCV/EpxevZ mffHYxWE+sOkRDzrAU7mpbWo8fbPdDxbLpAR3IExSFWC9epKm1WnxU4TZqj2aatMcCBcLLPnizCvA 4BGWw4MD+09kfGG1ojHv5tvCFs4EbjOAKzcLEfScO0DYXDxrQi7SE7ZeGtD9ZO0j1Apo5YIqZtjqc GF9F60Cr98QvqLjva3ZRbz3MG6AV9Spgis3NO3GGDxTTsrQDTUH0rLY+KomkXyEeZZrTNnJmHl5nD Cyf2nTW+w==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k6U9C-00070A-68; Fri, 14 Aug 2020 07:29:06 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k6U3x-0003N6-9r; Fri, 14 Aug 2020 07:23:45 +0000 X-UUID: 8e5c3bd6a516458ab30ca3a2da6abe9d-20200813 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=zkQYyfwS9UgwXr6JLjB5UfXEi9ckyZqx+wdM0FayS18=; b=QQDhNcV9pW/+PUFQZhwErT+W8WpWtxChl/9NuWcIWmdxHJ+1+fn+QTvo7DW9pHjrDab5vzfkxWooin3LrCRHMlG+i9rAB8xNjkprCDF7AkDN6fnhQ4GC8i5jjee81LGF811BY1SBdSBAqGgGLPSx0+yJ/1MhifRO2jh9W2LeM/c=; X-UUID: 8e5c3bd6a516458ab30ca3a2da6abe9d-20200813 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 1094465950; Thu, 13 Aug 2020 23:23:16 -0800 Received: from MTKMBS07N2.mediatek.inc (172.21.101.141) by MTKMBS62DR.mediatek.inc (172.29.94.18) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 00:13:39 -0700 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n2.mediatek.inc (172.21.101.141) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 15:13:35 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 14 Aug 2020 15:13:34 +0800 From: Xia Jiang To: Hans Verkuil , Mauro Carvalho Chehab , Rob Herring , "Matthias Brugger" , Rick Chang Subject: [PATCH v12 27/29] media: platform: Rename existing functions/defines/variables Date: Fri, 14 Aug 2020 15:12:00 +0800 Message-ID: <20200814071202.25067-29-xia.jiang@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200814071202.25067-1-xia.jiang@mediatek.com> References: <20200814071202.25067-1-xia.jiang@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200814_032341_592044_AD6E348F X-CRM114-Status: GOOD ( 18.88 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: maoguang.meng@mediatek.com, devicetree@vger.kernel.org, mojahsu@chromium.org, srv_heupstream@mediatek.com, linux-kernel@vger.kernel.org, Tomasz Figa , senozhatsky@chromium.org, drinkcat@chromium.org, linux-mediatek@lists.infradead.org, Xia Jiang , linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Marek Szyprowski Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Rename existing functions/defines/variables with a _dec prefix and without dec_ prefix to prepare for the addition of the jpeg encoder feature. Reviewed-by: Tomasz Figa Signed-off-by: Xia Jiang --- v12: no changes --- .../media/platform/mtk-jpeg/mtk_jpeg_core.c | 172 +++++++++--------- .../media/platform/mtk-jpeg/mtk_jpeg_core.h | 12 +- .../media/platform/mtk-jpeg/mtk_jpeg_dec_hw.h | 5 +- 3 files changed, 97 insertions(+), 92 deletions(-) diff --git a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c index 5e57aed2e90f..3d1383d2eac4 100644 --- a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c +++ b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c @@ -27,11 +27,11 @@ #include "mtk_jpeg_core.h" #include "mtk_jpeg_dec_parse.h" -static struct mtk_jpeg_fmt mtk_jpeg_formats[] = { +static struct mtk_jpeg_fmt mtk_jpeg_dec_formats[] = { { .fourcc = V4L2_PIX_FMT_JPEG, .colplanes = 1, - .flags = MTK_JPEG_FMT_FLAG_DEC_OUTPUT, + .flags = MTK_JPEG_FMT_FLAG_OUTPUT, }, { .fourcc = V4L2_PIX_FMT_YUV420M, @@ -40,7 +40,7 @@ static struct mtk_jpeg_fmt mtk_jpeg_formats[] = { .colplanes = 3, .h_align = 5, .v_align = 4, - .flags = MTK_JPEG_FMT_FLAG_DEC_CAPTURE, + .flags = MTK_JPEG_FMT_FLAG_CAPTURE, }, { .fourcc = V4L2_PIX_FMT_YUV422M, @@ -49,11 +49,11 @@ static struct mtk_jpeg_fmt mtk_jpeg_formats[] = { .colplanes = 3, .h_align = 5, .v_align = 3, - .flags = MTK_JPEG_FMT_FLAG_DEC_CAPTURE, + .flags = MTK_JPEG_FMT_FLAG_CAPTURE, }, }; -#define MTK_JPEG_NUM_FORMATS ARRAY_SIZE(mtk_jpeg_formats) +#define MTK_JPEG_DEC_NUM_FORMATS ARRAY_SIZE(mtk_jpeg_dec_formats) struct mtk_jpeg_src_buf { struct vb2_v4l2_buffer b; @@ -112,15 +112,15 @@ static int mtk_jpeg_enum_fmt(struct mtk_jpeg_fmt *mtk_jpeg_formats, int n, static int mtk_jpeg_enum_fmt_vid_cap(struct file *file, void *priv, struct v4l2_fmtdesc *f) { - return mtk_jpeg_enum_fmt(mtk_jpeg_formats, MTK_JPEG_NUM_FORMATS, f, - MTK_JPEG_FMT_FLAG_DEC_CAPTURE); + return mtk_jpeg_enum_fmt(mtk_jpeg_dec_formats, MTK_JPEG_DEC_NUM_FORMATS, + f, MTK_JPEG_FMT_FLAG_CAPTURE); } static int mtk_jpeg_enum_fmt_vid_out(struct file *file, void *priv, struct v4l2_fmtdesc *f) { - return mtk_jpeg_enum_fmt(mtk_jpeg_formats, MTK_JPEG_NUM_FORMATS, f, - MTK_JPEG_FMT_FLAG_DEC_OUTPUT); + return mtk_jpeg_enum_fmt(mtk_jpeg_dec_formats, MTK_JPEG_DEC_NUM_FORMATS, + f, MTK_JPEG_FMT_FLAG_OUTPUT); } static struct mtk_jpeg_q_data *mtk_jpeg_get_q_data(struct mtk_jpeg_ctx *ctx, @@ -246,9 +246,10 @@ static int mtk_jpeg_try_fmt_vid_cap_mplane(struct file *file, void *priv, struct mtk_jpeg_ctx *ctx = mtk_jpeg_fh_to_ctx(priv); struct mtk_jpeg_fmt *fmt; - fmt = mtk_jpeg_find_format(mtk_jpeg_formats, MTK_JPEG_NUM_FORMATS, + fmt = mtk_jpeg_find_format(mtk_jpeg_dec_formats, + MTK_JPEG_DEC_NUM_FORMATS, f->fmt.pix_mp.pixelformat, - MTK_JPEG_FMT_FLAG_DEC_CAPTURE); + MTK_JPEG_FMT_FLAG_CAPTURE); if (!fmt) fmt = ctx->cap_q.fmt; @@ -273,9 +274,10 @@ static int mtk_jpeg_try_fmt_vid_out_mplane(struct file *file, void *priv, struct mtk_jpeg_ctx *ctx = mtk_jpeg_fh_to_ctx(priv); struct mtk_jpeg_fmt *fmt; - fmt = mtk_jpeg_find_format(mtk_jpeg_formats, MTK_JPEG_NUM_FORMATS, + fmt = mtk_jpeg_find_format(mtk_jpeg_dec_formats, + MTK_JPEG_DEC_NUM_FORMATS, f->fmt.pix_mp.pixelformat, - MTK_JPEG_FMT_FLAG_DEC_OUTPUT); + MTK_JPEG_FMT_FLAG_OUTPUT); if (!fmt) fmt = ctx->out_q.fmt; @@ -315,8 +317,8 @@ static int mtk_jpeg_s_fmt_mplane(struct mtk_jpeg_ctx *ctx, } - q_data->fmt = mtk_jpeg_find_format(mtk_jpeg_formats, - MTK_JPEG_NUM_FORMATS, + q_data->fmt = mtk_jpeg_find_format(mtk_jpeg_dec_formats, + MTK_JPEG_DEC_NUM_FORMATS, pix_mp->pixelformat, fmt_type); q_data->pix_mp.width = pix_mp->width; q_data->pix_mp.height = pix_mp->height; @@ -358,7 +360,7 @@ static int mtk_jpeg_s_fmt_vid_out_mplane(struct file *file, void *priv, return ret; return mtk_jpeg_s_fmt_mplane(mtk_jpeg_fh_to_ctx(priv), f, - MTK_JPEG_FMT_FLAG_DEC_OUTPUT); + MTK_JPEG_FMT_FLAG_OUTPUT); } static int mtk_jpeg_s_fmt_vid_cap_mplane(struct file *file, void *priv, @@ -371,7 +373,7 @@ static int mtk_jpeg_s_fmt_vid_cap_mplane(struct file *file, void *priv, return ret; return mtk_jpeg_s_fmt_mplane(mtk_jpeg_fh_to_ctx(priv), f, - MTK_JPEG_FMT_FLAG_DEC_CAPTURE); + MTK_JPEG_FMT_FLAG_CAPTURE); } static void mtk_jpeg_queue_src_chg_event(struct mtk_jpeg_ctx *ctx) @@ -396,8 +398,8 @@ static int mtk_jpeg_subscribe_event(struct v4l2_fh *fh, return v4l2_ctrl_subscribe_event(fh, sub); } -static int mtk_jpeg_g_selection(struct file *file, void *priv, - struct v4l2_selection *s) +static int mtk_jpeg_dec_g_selection(struct file *file, void *priv, + struct v4l2_selection *s) { struct mtk_jpeg_ctx *ctx = mtk_jpeg_fh_to_ctx(priv); @@ -425,7 +427,7 @@ static int mtk_jpeg_g_selection(struct file *file, void *priv, return 0; } -static const struct v4l2_ioctl_ops mtk_jpeg_ioctl_ops = { +static const struct v4l2_ioctl_ops mtk_jpeg_dec_ioctl_ops = { .vidioc_querycap = mtk_jpeg_querycap, .vidioc_enum_fmt_vid_cap = mtk_jpeg_enum_fmt_vid_cap, .vidioc_enum_fmt_vid_out = mtk_jpeg_enum_fmt_vid_out, @@ -437,7 +439,7 @@ static const struct v4l2_ioctl_ops mtk_jpeg_ioctl_ops = { .vidioc_s_fmt_vid_out_mplane = mtk_jpeg_s_fmt_vid_out_mplane, .vidioc_qbuf = v4l2_m2m_ioctl_qbuf, .vidioc_subscribe_event = mtk_jpeg_subscribe_event, - .vidioc_g_selection = mtk_jpeg_g_selection, + .vidioc_g_selection = mtk_jpeg_dec_g_selection, .vidioc_create_bufs = v4l2_m2m_ioctl_create_bufs, .vidioc_prepare_buf = v4l2_m2m_ioctl_prepare_buf, @@ -517,9 +519,9 @@ static bool mtk_jpeg_check_resolution_change(struct mtk_jpeg_ctx *ctx, } q_data = &ctx->cap_q; - if (q_data->fmt != mtk_jpeg_find_format(mtk_jpeg_formats, - MTK_JPEG_NUM_FORMATS, param->dst_fourcc, - MTK_JPEG_FMT_FLAG_DEC_CAPTURE)) { + if (q_data->fmt != mtk_jpeg_find_format(mtk_jpeg_dec_formats, + MTK_JPEG_DEC_NUM_FORMATS, param->dst_fourcc, + MTK_JPEG_FMT_FLAG_CAPTURE)) { v4l2_dbg(1, debug, &jpeg->v4l2_dev, "format change\n"); return true; } @@ -540,10 +542,10 @@ static void mtk_jpeg_set_queue_data(struct mtk_jpeg_ctx *ctx, q_data = &ctx->cap_q; q_data->pix_mp.width = param->dec_w; q_data->pix_mp.height = param->dec_h; - q_data->fmt = mtk_jpeg_find_format(mtk_jpeg_formats, - MTK_JPEG_NUM_FORMATS, + q_data->fmt = mtk_jpeg_find_format(mtk_jpeg_dec_formats, + MTK_JPEG_DEC_NUM_FORMATS, param->dst_fourcc, - MTK_JPEG_FMT_FLAG_DEC_CAPTURE); + MTK_JPEG_FMT_FLAG_CAPTURE); for (i = 0; i < q_data->fmt->colplanes; i++) { q_data->pix_mp.plane_fmt[i].bytesperline = param->mem_stride[i]; @@ -560,7 +562,7 @@ static void mtk_jpeg_set_queue_data(struct mtk_jpeg_ctx *ctx, param->dec_w, param->dec_h); } -static void mtk_jpeg_buf_queue(struct vb2_buffer *vb) +static void mtk_jpeg_dec_buf_queue(struct vb2_buffer *vb) { struct mtk_jpeg_ctx *ctx = vb2_get_drv_priv(vb->vb2_queue); struct mtk_jpeg_dec_param *param; @@ -608,7 +610,7 @@ static struct vb2_v4l2_buffer *mtk_jpeg_buf_remove(struct mtk_jpeg_ctx *ctx, return v4l2_m2m_dst_buf_remove(ctx->fh.m2m_ctx); } -static void mtk_jpeg_stop_streaming(struct vb2_queue *q) +static void mtk_jpeg_dec_stop_streaming(struct vb2_queue *q) { struct mtk_jpeg_ctx *ctx = vb2_get_drv_priv(q); struct vb2_v4l2_buffer *vb; @@ -634,13 +636,13 @@ static void mtk_jpeg_stop_streaming(struct vb2_queue *q) v4l2_m2m_buf_done(vb, VB2_BUF_STATE_ERROR); } -static const struct vb2_ops mtk_jpeg_qops = { +static const struct vb2_ops mtk_jpeg_dec_qops = { .queue_setup = mtk_jpeg_queue_setup, .buf_prepare = mtk_jpeg_buf_prepare, - .buf_queue = mtk_jpeg_buf_queue, + .buf_queue = mtk_jpeg_dec_buf_queue, .wait_prepare = vb2_ops_wait_prepare, .wait_finish = vb2_ops_wait_finish, - .stop_streaming = mtk_jpeg_stop_streaming, + .stop_streaming = mtk_jpeg_dec_stop_streaming, }; static void mtk_jpeg_set_dec_src(struct mtk_jpeg_ctx *ctx, @@ -680,7 +682,7 @@ static int mtk_jpeg_set_dec_dst(struct mtk_jpeg_ctx *ctx, return 0; } -static void mtk_jpeg_device_run(void *priv) +static void mtk_jpeg_dec_device_run(void *priv) { struct mtk_jpeg_ctx *ctx = priv; struct mtk_jpeg_dev *jpeg = ctx->jpeg; @@ -715,11 +717,11 @@ static void mtk_jpeg_device_run(void *priv) goto dec_end; spin_lock_irqsave(&jpeg->hw_lock, flags); - mtk_jpeg_dec_reset(jpeg->dec_reg_base); - mtk_jpeg_dec_set_config(jpeg->dec_reg_base, + mtk_jpeg_dec_reset(jpeg->reg_base); + mtk_jpeg_dec_set_config(jpeg->reg_base, &jpeg_src_buf->dec_param, &bs, &fb); - mtk_jpeg_dec_start(jpeg->dec_reg_base); + mtk_jpeg_dec_start(jpeg->reg_base); spin_unlock_irqrestore(&jpeg->hw_lock, flags); return; @@ -731,16 +733,16 @@ static void mtk_jpeg_device_run(void *priv) v4l2_m2m_job_finish(jpeg->m2m_dev, ctx->fh.m2m_ctx); } -static int mtk_jpeg_job_ready(void *priv) +static int mtk_jpeg_dec_job_ready(void *priv) { struct mtk_jpeg_ctx *ctx = priv; return (ctx->state == MTK_JPEG_RUNNING) ? 1 : 0; } -static const struct v4l2_m2m_ops mtk_jpeg_m2m_ops = { - .device_run = mtk_jpeg_device_run, - .job_ready = mtk_jpeg_job_ready, +static const struct v4l2_m2m_ops mtk_jpeg_dec_m2m_ops = { + .device_run = mtk_jpeg_dec_device_run, + .job_ready = mtk_jpeg_dec_job_ready, }; static int mtk_jpeg_queue_init(void *priv, struct vb2_queue *src_vq, @@ -753,7 +755,7 @@ static int mtk_jpeg_queue_init(void *priv, struct vb2_queue *src_vq, src_vq->io_modes = VB2_DMABUF | VB2_MMAP; src_vq->drv_priv = ctx; src_vq->buf_struct_size = sizeof(struct mtk_jpeg_src_buf); - src_vq->ops = &mtk_jpeg_qops; + src_vq->ops = &mtk_jpeg_dec_qops; src_vq->mem_ops = &vb2_dma_contig_memops; src_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY; src_vq->lock = &ctx->jpeg->lock; @@ -766,7 +768,7 @@ static int mtk_jpeg_queue_init(void *priv, struct vb2_queue *src_vq, dst_vq->io_modes = VB2_DMABUF | VB2_MMAP; dst_vq->drv_priv = ctx; dst_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer); - dst_vq->ops = &mtk_jpeg_qops; + dst_vq->ops = &mtk_jpeg_dec_qops; dst_vq->mem_ops = &vb2_dma_contig_memops; dst_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY; dst_vq->lock = &ctx->jpeg->lock; @@ -808,7 +810,7 @@ static irqreturn_t mtk_jpeg_dec_irq(int irq, void *priv) cancel_delayed_work(&jpeg->job_timeout_work); - dec_ret = mtk_jpeg_dec_get_int_status(jpeg->dec_reg_base); + dec_ret = mtk_jpeg_dec_get_int_status(jpeg->reg_base); dec_irq_ret = mtk_jpeg_dec_enum_result(dec_ret); ctx = v4l2_m2m_get_curr_priv(jpeg->m2m_dev); if (!ctx) { @@ -821,7 +823,7 @@ static irqreturn_t mtk_jpeg_dec_irq(int irq, void *priv) jpeg_src_buf = mtk_jpeg_vb2_to_srcbuf(&src_buf->vb2_buf); if (dec_irq_ret >= MTK_JPEG_DEC_RESULT_UNDERFLOW) - mtk_jpeg_dec_reset(jpeg->dec_reg_base); + mtk_jpeg_dec_reset(jpeg->reg_base); if (dec_irq_ret != MTK_JPEG_DEC_RESULT_EOF_DONE) { dev_err(jpeg->dev, "decode failed\n"); @@ -851,17 +853,19 @@ static void mtk_jpeg_set_default_params(struct mtk_jpeg_ctx *ctx) q->pix_mp.quantization = V4L2_QUANTIZATION_FULL_RANGE; q->pix_mp.xfer_func = V4L2_XFER_FUNC_SRGB; - q->fmt = mtk_jpeg_find_format(mtk_jpeg_formats, MTK_JPEG_NUM_FORMATS, + q->fmt = mtk_jpeg_find_format(mtk_jpeg_dec_formats, + MTK_JPEG_DEC_NUM_FORMATS, V4L2_PIX_FMT_JPEG, - MTK_JPEG_FMT_FLAG_DEC_OUTPUT); + MTK_JPEG_FMT_FLAG_OUTPUT); q->pix_mp.width = MTK_JPEG_MIN_WIDTH; q->pix_mp.height = MTK_JPEG_MIN_HEIGHT; mtk_jpeg_try_fmt_mplane(&q->pix_mp, q->fmt); q = &ctx->cap_q; - q->fmt = mtk_jpeg_find_format(mtk_jpeg_formats, MTK_JPEG_NUM_FORMATS, + q->fmt = mtk_jpeg_find_format(mtk_jpeg_dec_formats, + MTK_JPEG_DEC_NUM_FORMATS, V4L2_PIX_FMT_YUV420M, - MTK_JPEG_FMT_FLAG_DEC_CAPTURE); + MTK_JPEG_FMT_FLAG_CAPTURE); q->pix_mp.colorspace = V4L2_COLORSPACE_SRGB; q->pix_mp.ycbcr_enc = V4L2_YCBCR_ENC_601; q->pix_mp.quantization = V4L2_QUANTIZATION_FULL_RANGE; @@ -981,7 +985,7 @@ static void mtk_jpeg_job_timeout_work(struct work_struct *work) src_buf = v4l2_m2m_src_buf_remove(ctx->fh.m2m_ctx); dst_buf = v4l2_m2m_dst_buf_remove(ctx->fh.m2m_ctx); - mtk_jpeg_dec_reset(jpeg->dec_reg_base); + mtk_jpeg_dec_reset(jpeg->reg_base); pm_runtime_put(jpeg->dev); @@ -993,7 +997,7 @@ static int mtk_jpeg_probe(struct platform_device *pdev) { struct mtk_jpeg_dev *jpeg; struct resource *res; - int dec_irq; + int jpeg_irq; int ret; jpeg = devm_kzalloc(&pdev->dev, sizeof(*jpeg), GFP_KERNEL); @@ -1006,23 +1010,23 @@ static int mtk_jpeg_probe(struct platform_device *pdev) INIT_DELAYED_WORK(&jpeg->job_timeout_work, mtk_jpeg_job_timeout_work); res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - jpeg->dec_reg_base = devm_ioremap_resource(&pdev->dev, res); - if (IS_ERR(jpeg->dec_reg_base)) { - ret = PTR_ERR(jpeg->dec_reg_base); + jpeg->reg_base = devm_ioremap_resource(&pdev->dev, res); + if (IS_ERR(jpeg->reg_base)) { + ret = PTR_ERR(jpeg->reg_base); return ret; } - dec_irq = platform_get_irq(pdev, 0); - if (dec_irq < 0) { - dev_err(&pdev->dev, "Failed to get dec_irq %d.\n", dec_irq); - return dec_irq; + jpeg_irq = platform_get_irq(pdev, 0); + if (jpeg_irq < 0) { + dev_err(&pdev->dev, "Failed to get jpeg_irq %d.\n", jpeg_irq); + return jpeg_irq; } - ret = devm_request_irq(&pdev->dev, dec_irq, mtk_jpeg_dec_irq, 0, + ret = devm_request_irq(&pdev->dev, jpeg_irq, mtk_jpeg_dec_irq, 0, pdev->name, jpeg); if (ret) { - dev_err(&pdev->dev, "Failed to request dec_irq %d (%d)\n", - dec_irq, ret); + dev_err(&pdev->dev, "Failed to request jpeg_irq %d (%d)\n", + jpeg_irq, ret); goto err_req_irq; } @@ -1039,40 +1043,40 @@ static int mtk_jpeg_probe(struct platform_device *pdev) goto err_dev_register; } - jpeg->m2m_dev = v4l2_m2m_init(&mtk_jpeg_m2m_ops); + jpeg->m2m_dev = v4l2_m2m_init(&mtk_jpeg_dec_m2m_ops); if (IS_ERR(jpeg->m2m_dev)) { v4l2_err(&jpeg->v4l2_dev, "Failed to init mem2mem device\n"); ret = PTR_ERR(jpeg->m2m_dev); goto err_m2m_init; } - jpeg->dec_vdev = video_device_alloc(); - if (!jpeg->dec_vdev) { + jpeg->vdev = video_device_alloc(); + if (!jpeg->vdev) { ret = -ENOMEM; - goto err_dec_vdev_alloc; + goto err_vfd_jpeg_alloc; } - snprintf(jpeg->dec_vdev->name, sizeof(jpeg->dec_vdev->name), + snprintf(jpeg->vdev->name, sizeof(jpeg->vdev->name), "%s-dec", MTK_JPEG_NAME); - jpeg->dec_vdev->fops = &mtk_jpeg_fops; - jpeg->dec_vdev->ioctl_ops = &mtk_jpeg_ioctl_ops; - jpeg->dec_vdev->minor = -1; - jpeg->dec_vdev->release = video_device_release; - jpeg->dec_vdev->lock = &jpeg->lock; - jpeg->dec_vdev->v4l2_dev = &jpeg->v4l2_dev; - jpeg->dec_vdev->vfl_dir = VFL_DIR_M2M; - jpeg->dec_vdev->device_caps = V4L2_CAP_STREAMING | - V4L2_CAP_VIDEO_M2M_MPLANE; - - ret = video_register_device(jpeg->dec_vdev, VFL_TYPE_VIDEO, -1); + jpeg->vdev->fops = &mtk_jpeg_fops; + jpeg->vdev->ioctl_ops = &mtk_jpeg_dec_ioctl_ops; + jpeg->vdev->minor = -1; + jpeg->vdev->release = video_device_release; + jpeg->vdev->lock = &jpeg->lock; + jpeg->vdev->v4l2_dev = &jpeg->v4l2_dev; + jpeg->vdev->vfl_dir = VFL_DIR_M2M; + jpeg->vdev->device_caps = V4L2_CAP_STREAMING | + V4L2_CAP_VIDEO_M2M_MPLANE; + + ret = video_register_device(jpeg->vdev, VFL_TYPE_VIDEO, -1); if (ret) { v4l2_err(&jpeg->v4l2_dev, "Failed to register video device\n"); - goto err_dec_vdev_register; + goto err_vfd_jpeg_register; } - video_set_drvdata(jpeg->dec_vdev, jpeg); + video_set_drvdata(jpeg->vdev, jpeg); v4l2_info(&jpeg->v4l2_dev, "decoder device registered as /dev/video%d (%d,%d)\n", - jpeg->dec_vdev->num, VIDEO_MAJOR, jpeg->dec_vdev->minor); + jpeg->vdev->num, VIDEO_MAJOR, jpeg->vdev->minor); platform_set_drvdata(pdev, jpeg); @@ -1080,10 +1084,10 @@ static int mtk_jpeg_probe(struct platform_device *pdev) return 0; -err_dec_vdev_register: - video_device_release(jpeg->dec_vdev); +err_vfd_jpeg_register: + video_device_release(jpeg->vdev); -err_dec_vdev_alloc: +err_vfd_jpeg_alloc: v4l2_m2m_release(jpeg->m2m_dev); err_m2m_init: @@ -1103,8 +1107,8 @@ static int mtk_jpeg_remove(struct platform_device *pdev) struct mtk_jpeg_dev *jpeg = platform_get_drvdata(pdev); pm_runtime_disable(&pdev->dev); - video_unregister_device(jpeg->dec_vdev); - video_device_release(jpeg->dec_vdev); + video_unregister_device(jpeg->vdev); + video_device_release(jpeg->vdev); v4l2_m2m_release(jpeg->m2m_dev); v4l2_device_unregister(&jpeg->v4l2_dev); diff --git a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.h b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.h index a54e1e82e655..0f27480dd90d 100644 --- a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.h +++ b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.h @@ -17,8 +17,8 @@ #define MTK_JPEG_COMP_MAX 3 -#define MTK_JPEG_FMT_FLAG_DEC_OUTPUT BIT(0) -#define MTK_JPEG_FMT_FLAG_DEC_CAPTURE BIT(1) +#define MTK_JPEG_FMT_FLAG_OUTPUT BIT(0) +#define MTK_JPEG_FMT_FLAG_CAPTURE BIT(1) #define MTK_JPEG_MIN_WIDTH 32U #define MTK_JPEG_MIN_HEIGHT 32U @@ -50,8 +50,8 @@ enum mtk_jpeg_ctx_state { * @v4l2_dev: v4l2 device for mem2mem mode * @m2m_dev: v4l2 mem2mem device data * @alloc_ctx: videobuf2 memory allocator's context - * @dec_vdev: video device node for decoder mem2mem mode - * @dec_reg_base: JPEG registers mapping + * @vdev: video device node for jpeg mem2mem mode + * @reg_base: JPEG registers mapping * @clks: clock names * @num_clks: numbers of clock * @larb: SMI device @@ -65,8 +65,8 @@ struct mtk_jpeg_dev { struct v4l2_device v4l2_dev; struct v4l2_m2m_dev *m2m_dev; void *alloc_ctx; - struct video_device *dec_vdev; - void __iomem *dec_reg_base; + struct video_device *vdev; + void __iomem *reg_base; struct clk_bulk_data *clks; int num_clks; struct device *larb; diff --git a/drivers/media/platform/mtk-jpeg/mtk_jpeg_dec_hw.h b/drivers/media/platform/mtk-jpeg/mtk_jpeg_dec_hw.h index 1cc37dbfc8e7..fa0d45fd7c34 100644 --- a/drivers/media/platform/mtk-jpeg/mtk_jpeg_dec_hw.h +++ b/drivers/media/platform/mtk-jpeg/mtk_jpeg_dec_hw.h @@ -3,10 +3,11 @@ * Copyright (c) 2016 MediaTek Inc. * Author: Ming Hsiu Tsai * Rick Chang + * Xia Jiang */ -#ifndef _MTK_JPEG_HW_H -#define _MTK_JPEG_HW_H +#ifndef _MTK_JPEG_DEC_HW_H +#define _MTK_JPEG_DEC_HW_H #include -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.6 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MIME_BASE64_TEXT,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY,UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C2EB6C433E3 for ; Fri, 14 Aug 2020 07:14:09 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 8C1BD2074D for ; Fri, 14 Aug 2020 07:14:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="bw/bp80W" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727036AbgHNHOF (ORCPT ); Fri, 14 Aug 2020 03:14:05 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:6055 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726963AbgHNHNx (ORCPT ); Fri, 14 Aug 2020 03:13:53 -0400 X-UUID: c4df1a2041624c6e95a3e61fc02191f4-20200814 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=zkQYyfwS9UgwXr6JLjB5UfXEi9ckyZqx+wdM0FayS18=; b=bw/bp80W2ir0sMvYTtQsD3NF6ly03hwLZ2kdZdiPpCF8ETe3MI1vSAPzCb0umY1JRHy499VjuLmSqtUti0/ycXoNlbBrHO6cV9LKq/JnqERIjjkZzSVIz2WTHIXmB2z8U0iX6xjG7CX8uOr5CGyN4KYyynBcPrz2apkjvvqUCBE=; X-UUID: c4df1a2041624c6e95a3e61fc02191f4-20200814 Received: from mtkcas10.mediatek.inc [(172.21.101.39)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1674212528; Fri, 14 Aug 2020 15:13:38 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n2.mediatek.inc (172.21.101.141) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 15:13:35 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 14 Aug 2020 15:13:34 +0800 From: Xia Jiang To: Hans Verkuil , Mauro Carvalho Chehab , Rob Herring , Matthias Brugger , Rick Chang CC: , , , , , Marek Szyprowski , Tomasz Figa , , , , , , Xia Jiang Subject: [PATCH v12 27/29] media: platform: Rename existing functions/defines/variables Date: Fri, 14 Aug 2020 15:12:00 +0800 Message-ID: <20200814071202.25067-29-xia.jiang@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200814071202.25067-1-xia.jiang@mediatek.com> References: <20200814071202.25067-1-xia.jiang@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org UmVuYW1lIGV4aXN0aW5nIGZ1bmN0aW9ucy9kZWZpbmVzL3ZhcmlhYmxlcyB3aXRoIGEgIF9kZWMg cHJlZml4IGFuZA0Kd2l0aG91dCBkZWNfIHByZWZpeCB0byBwcmVwYXJlIGZvciB0aGUgYWRkaXRp b24gb2YgdGhlIGpwZWcgZW5jb2Rlcg0KZmVhdHVyZS4NCg0KUmV2aWV3ZWQtYnk6IFRvbWFzeiBG aWdhIDx0ZmlnYUBjaHJvbWl1bS5vcmc+DQpTaWduZWQtb2ZmLWJ5OiBYaWEgSmlhbmcgPHhpYS5q aWFuZ0BtZWRpYXRlay5jb20+DQotLS0NCnYxMjogbm8gY2hhbmdlcw0KLS0tDQogLi4uL21lZGlh L3BsYXRmb3JtL210ay1qcGVnL210a19qcGVnX2NvcmUuYyAgIHwgMTcyICsrKysrKysrKy0tLS0t LS0tLQ0KIC4uLi9tZWRpYS9wbGF0Zm9ybS9tdGstanBlZy9tdGtfanBlZ19jb3JlLmggICB8ICAx MiArLQ0KIC4uLi9tZWRpYS9wbGF0Zm9ybS9tdGstanBlZy9tdGtfanBlZ19kZWNfaHcuaCB8ICAg NSArLQ0KIDMgZmlsZXMgY2hhbmdlZCwgOTcgaW5zZXJ0aW9ucygrKSwgOTIgZGVsZXRpb25zKC0p DQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1qcGVnL210a19qcGVn X2NvcmUuYyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcvbXRrX2pwZWdfY29yZS5j DQppbmRleCA1ZTU3YWVkMmU5MGYuLjNkMTM4M2QyZWFjNCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMv bWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcvbXRrX2pwZWdfY29yZS5jDQorKysgYi9kcml2ZXJzL21l ZGlhL3BsYXRmb3JtL210ay1qcGVnL210a19qcGVnX2NvcmUuYw0KQEAgLTI3LDExICsyNywxMSBA QA0KICNpbmNsdWRlICJtdGtfanBlZ19jb3JlLmgiDQogI2luY2x1ZGUgIm10a19qcGVnX2RlY19w YXJzZS5oIg0KIA0KLXN0YXRpYyBzdHJ1Y3QgbXRrX2pwZWdfZm10IG10a19qcGVnX2Zvcm1hdHNb XSA9IHsNCitzdGF0aWMgc3RydWN0IG10a19qcGVnX2ZtdCBtdGtfanBlZ19kZWNfZm9ybWF0c1td ID0gew0KIAl7DQogCQkuZm91cmNjCQk9IFY0TDJfUElYX0ZNVF9KUEVHLA0KIAkJLmNvbHBsYW5l cwk9IDEsDQotCQkuZmxhZ3MJCT0gTVRLX0pQRUdfRk1UX0ZMQUdfREVDX09VVFBVVCwNCisJCS5m bGFncwkJPSBNVEtfSlBFR19GTVRfRkxBR19PVVRQVVQsDQogCX0sDQogCXsNCiAJCS5mb3VyY2MJ CT0gVjRMMl9QSVhfRk1UX1lVVjQyME0sDQpAQCAtNDAsNyArNDAsNyBAQCBzdGF0aWMgc3RydWN0 IG10a19qcGVnX2ZtdCBtdGtfanBlZ19mb3JtYXRzW10gPSB7DQogCQkuY29scGxhbmVzCT0gMywN CiAJCS5oX2FsaWduCT0gNSwNCiAJCS52X2FsaWduCT0gNCwNCi0JCS5mbGFncwkJPSBNVEtfSlBF R19GTVRfRkxBR19ERUNfQ0FQVFVSRSwNCisJCS5mbGFncwkJPSBNVEtfSlBFR19GTVRfRkxBR19D QVBUVVJFLA0KIAl9LA0KIAl7DQogCQkuZm91cmNjCQk9IFY0TDJfUElYX0ZNVF9ZVVY0MjJNLA0K QEAgLTQ5LDExICs0OSwxMSBAQCBzdGF0aWMgc3RydWN0IG10a19qcGVnX2ZtdCBtdGtfanBlZ19m b3JtYXRzW10gPSB7DQogCQkuY29scGxhbmVzCT0gMywNCiAJCS5oX2FsaWduCT0gNSwNCiAJCS52 X2FsaWduCT0gMywNCi0JCS5mbGFncwkJPSBNVEtfSlBFR19GTVRfRkxBR19ERUNfQ0FQVFVSRSwN CisJCS5mbGFncwkJPSBNVEtfSlBFR19GTVRfRkxBR19DQVBUVVJFLA0KIAl9LA0KIH07DQogDQot I2RlZmluZSBNVEtfSlBFR19OVU1fRk9STUFUUyBBUlJBWV9TSVpFKG10a19qcGVnX2Zvcm1hdHMp DQorI2RlZmluZSBNVEtfSlBFR19ERUNfTlVNX0ZPUk1BVFMgQVJSQVlfU0laRShtdGtfanBlZ19k ZWNfZm9ybWF0cykNCiANCiBzdHJ1Y3QgbXRrX2pwZWdfc3JjX2J1ZiB7DQogCXN0cnVjdCB2YjJf djRsMl9idWZmZXIgYjsNCkBAIC0xMTIsMTUgKzExMiwxNSBAQCBzdGF0aWMgaW50IG10a19qcGVn X2VudW1fZm10KHN0cnVjdCBtdGtfanBlZ19mbXQgKm10a19qcGVnX2Zvcm1hdHMsIGludCBuLA0K IHN0YXRpYyBpbnQgbXRrX2pwZWdfZW51bV9mbXRfdmlkX2NhcChzdHJ1Y3QgZmlsZSAqZmlsZSwg dm9pZCAqcHJpdiwNCiAJCQkJICAgICBzdHJ1Y3QgdjRsMl9mbXRkZXNjICpmKQ0KIHsNCi0JcmV0 dXJuIG10a19qcGVnX2VudW1fZm10KG10a19qcGVnX2Zvcm1hdHMsIE1US19KUEVHX05VTV9GT1JN QVRTLCBmLA0KLQkJCQkgTVRLX0pQRUdfRk1UX0ZMQUdfREVDX0NBUFRVUkUpOw0KKwlyZXR1cm4g bXRrX2pwZWdfZW51bV9mbXQobXRrX2pwZWdfZGVjX2Zvcm1hdHMsIE1US19KUEVHX0RFQ19OVU1f Rk9STUFUUywNCisJCQkJIGYsIE1US19KUEVHX0ZNVF9GTEFHX0NBUFRVUkUpOw0KIH0NCiANCiBz dGF0aWMgaW50IG10a19qcGVnX2VudW1fZm10X3ZpZF9vdXQoc3RydWN0IGZpbGUgKmZpbGUsIHZv aWQgKnByaXYsDQogCQkJCSAgICAgc3RydWN0IHY0bDJfZm10ZGVzYyAqZikNCiB7DQotCXJldHVy biBtdGtfanBlZ19lbnVtX2ZtdChtdGtfanBlZ19mb3JtYXRzLCBNVEtfSlBFR19OVU1fRk9STUFU UywgZiwNCi0JCQkJIE1US19KUEVHX0ZNVF9GTEFHX0RFQ19PVVRQVVQpOw0KKwlyZXR1cm4gbXRr X2pwZWdfZW51bV9mbXQobXRrX2pwZWdfZGVjX2Zvcm1hdHMsIE1US19KUEVHX0RFQ19OVU1fRk9S TUFUUywNCisJCQkJIGYsIE1US19KUEVHX0ZNVF9GTEFHX09VVFBVVCk7DQogfQ0KIA0KIHN0YXRp YyBzdHJ1Y3QgbXRrX2pwZWdfcV9kYXRhICptdGtfanBlZ19nZXRfcV9kYXRhKHN0cnVjdCBtdGtf anBlZ19jdHggKmN0eCwNCkBAIC0yNDYsOSArMjQ2LDEwIEBAIHN0YXRpYyBpbnQgbXRrX2pwZWdf dHJ5X2ZtdF92aWRfY2FwX21wbGFuZShzdHJ1Y3QgZmlsZSAqZmlsZSwgdm9pZCAqcHJpdiwNCiAJ c3RydWN0IG10a19qcGVnX2N0eCAqY3R4ID0gbXRrX2pwZWdfZmhfdG9fY3R4KHByaXYpOw0KIAlz dHJ1Y3QgbXRrX2pwZWdfZm10ICpmbXQ7DQogDQotCWZtdCA9IG10a19qcGVnX2ZpbmRfZm9ybWF0 KG10a19qcGVnX2Zvcm1hdHMsIE1US19KUEVHX05VTV9GT1JNQVRTLA0KKwlmbXQgPSBtdGtfanBl Z19maW5kX2Zvcm1hdChtdGtfanBlZ19kZWNfZm9ybWF0cywNCisJCQkJICAgTVRLX0pQRUdfREVD X05VTV9GT1JNQVRTLA0KIAkJCQkgICBmLT5mbXQucGl4X21wLnBpeGVsZm9ybWF0LA0KLQkJCQkg ICBNVEtfSlBFR19GTVRfRkxBR19ERUNfQ0FQVFVSRSk7DQorCQkJCSAgIE1US19KUEVHX0ZNVF9G TEFHX0NBUFRVUkUpOw0KIAlpZiAoIWZtdCkNCiAJCWZtdCA9IGN0eC0+Y2FwX3EuZm10Ow0KIA0K QEAgLTI3Myw5ICsyNzQsMTAgQEAgc3RhdGljIGludCBtdGtfanBlZ190cnlfZm10X3ZpZF9vdXRf bXBsYW5lKHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpwcml2LA0KIAlzdHJ1Y3QgbXRrX2pwZWdf Y3R4ICpjdHggPSBtdGtfanBlZ19maF90b19jdHgocHJpdik7DQogCXN0cnVjdCBtdGtfanBlZ19m bXQgKmZtdDsNCiANCi0JZm10ID0gbXRrX2pwZWdfZmluZF9mb3JtYXQobXRrX2pwZWdfZm9ybWF0 cywgTVRLX0pQRUdfTlVNX0ZPUk1BVFMsDQorCWZtdCA9IG10a19qcGVnX2ZpbmRfZm9ybWF0KG10 a19qcGVnX2RlY19mb3JtYXRzLA0KKwkJCQkgICBNVEtfSlBFR19ERUNfTlVNX0ZPUk1BVFMsDQog CQkJCSAgIGYtPmZtdC5waXhfbXAucGl4ZWxmb3JtYXQsDQotCQkJCSAgIE1US19KUEVHX0ZNVF9G TEFHX0RFQ19PVVRQVVQpOw0KKwkJCQkgICBNVEtfSlBFR19GTVRfRkxBR19PVVRQVVQpOw0KIAlp ZiAoIWZtdCkNCiAJCWZtdCA9IGN0eC0+b3V0X3EuZm10Ow0KIA0KQEAgLTMxNSw4ICszMTcsOCBA QCBzdGF0aWMgaW50IG10a19qcGVnX3NfZm10X21wbGFuZShzdHJ1Y3QgbXRrX2pwZWdfY3R4ICpj dHgsDQogCX0NCiANCiANCi0JcV9kYXRhLT5mbXQgPSBtdGtfanBlZ19maW5kX2Zvcm1hdChtdGtf anBlZ19mb3JtYXRzLA0KLQkJCQkJICAgTVRLX0pQRUdfTlVNX0ZPUk1BVFMsDQorCXFfZGF0YS0+ Zm10ID0gbXRrX2pwZWdfZmluZF9mb3JtYXQobXRrX2pwZWdfZGVjX2Zvcm1hdHMsDQorCQkJCQkg ICBNVEtfSlBFR19ERUNfTlVNX0ZPUk1BVFMsDQogCQkJCQkgICBwaXhfbXAtPnBpeGVsZm9ybWF0 LCBmbXRfdHlwZSk7DQogCXFfZGF0YS0+cGl4X21wLndpZHRoID0gcGl4X21wLT53aWR0aDsNCiAJ cV9kYXRhLT5waXhfbXAuaGVpZ2h0ID0gcGl4X21wLT5oZWlnaHQ7DQpAQCAtMzU4LDcgKzM2MCw3 IEBAIHN0YXRpYyBpbnQgbXRrX2pwZWdfc19mbXRfdmlkX291dF9tcGxhbmUoc3RydWN0IGZpbGUg KmZpbGUsIHZvaWQgKnByaXYsDQogCQlyZXR1cm4gcmV0Ow0KIA0KIAlyZXR1cm4gbXRrX2pwZWdf c19mbXRfbXBsYW5lKG10a19qcGVnX2ZoX3RvX2N0eChwcml2KSwgZiwNCi0JCQkJICAgICBNVEtf SlBFR19GTVRfRkxBR19ERUNfT1VUUFVUKTsNCisJCQkJICAgICBNVEtfSlBFR19GTVRfRkxBR19P VVRQVVQpOw0KIH0NCiANCiBzdGF0aWMgaW50IG10a19qcGVnX3NfZm10X3ZpZF9jYXBfbXBsYW5l KHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpwcml2LA0KQEAgLTM3MSw3ICszNzMsNyBAQCBzdGF0 aWMgaW50IG10a19qcGVnX3NfZm10X3ZpZF9jYXBfbXBsYW5lKHN0cnVjdCBmaWxlICpmaWxlLCB2 b2lkICpwcml2LA0KIAkJcmV0dXJuIHJldDsNCiANCiAJcmV0dXJuIG10a19qcGVnX3NfZm10X21w bGFuZShtdGtfanBlZ19maF90b19jdHgocHJpdiksIGYsDQotCQkJCSAgICAgTVRLX0pQRUdfRk1U X0ZMQUdfREVDX0NBUFRVUkUpOw0KKwkJCQkgICAgIE1US19KUEVHX0ZNVF9GTEFHX0NBUFRVUkUp Ow0KIH0NCiANCiBzdGF0aWMgdm9pZCBtdGtfanBlZ19xdWV1ZV9zcmNfY2hnX2V2ZW50KHN0cnVj dCBtdGtfanBlZ19jdHggKmN0eCkNCkBAIC0zOTYsOCArMzk4LDggQEAgc3RhdGljIGludCBtdGtf anBlZ19zdWJzY3JpYmVfZXZlbnQoc3RydWN0IHY0bDJfZmggKmZoLA0KIAlyZXR1cm4gdjRsMl9j dHJsX3N1YnNjcmliZV9ldmVudChmaCwgc3ViKTsNCiB9DQogDQotc3RhdGljIGludCBtdGtfanBl Z19nX3NlbGVjdGlvbihzdHJ1Y3QgZmlsZSAqZmlsZSwgdm9pZCAqcHJpdiwNCi0JCQkJc3RydWN0 IHY0bDJfc2VsZWN0aW9uICpzKQ0KK3N0YXRpYyBpbnQgbXRrX2pwZWdfZGVjX2dfc2VsZWN0aW9u KHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpwcml2LA0KKwkJCQkgICAgc3RydWN0IHY0bDJfc2Vs ZWN0aW9uICpzKQ0KIHsNCiAJc3RydWN0IG10a19qcGVnX2N0eCAqY3R4ID0gbXRrX2pwZWdfZmhf dG9fY3R4KHByaXYpOw0KIA0KQEAgLTQyNSw3ICs0MjcsNyBAQCBzdGF0aWMgaW50IG10a19qcGVn X2dfc2VsZWN0aW9uKHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpwcml2LA0KIAlyZXR1cm4gMDsN CiB9DQogDQotc3RhdGljIGNvbnN0IHN0cnVjdCB2NGwyX2lvY3RsX29wcyBtdGtfanBlZ19pb2N0 bF9vcHMgPSB7DQorc3RhdGljIGNvbnN0IHN0cnVjdCB2NGwyX2lvY3RsX29wcyBtdGtfanBlZ19k ZWNfaW9jdGxfb3BzID0gew0KIAkudmlkaW9jX3F1ZXJ5Y2FwICAgICAgICAgICAgICAgID0gbXRr X2pwZWdfcXVlcnljYXAsDQogCS52aWRpb2NfZW51bV9mbXRfdmlkX2NhcAk9IG10a19qcGVnX2Vu dW1fZm10X3ZpZF9jYXAsDQogCS52aWRpb2NfZW51bV9mbXRfdmlkX291dAk9IG10a19qcGVnX2Vu dW1fZm10X3ZpZF9vdXQsDQpAQCAtNDM3LDcgKzQzOSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg djRsMl9pb2N0bF9vcHMgbXRrX2pwZWdfaW9jdGxfb3BzID0gew0KIAkudmlkaW9jX3NfZm10X3Zp ZF9vdXRfbXBsYW5lICAgID0gbXRrX2pwZWdfc19mbXRfdmlkX291dF9tcGxhbmUsDQogCS52aWRp b2NfcWJ1ZiAgICAgICAgICAgICAgICAgICAgPSB2NGwyX20ybV9pb2N0bF9xYnVmLA0KIAkudmlk aW9jX3N1YnNjcmliZV9ldmVudCAgICAgICAgID0gbXRrX2pwZWdfc3Vic2NyaWJlX2V2ZW50LA0K LQkudmlkaW9jX2dfc2VsZWN0aW9uCQk9IG10a19qcGVnX2dfc2VsZWN0aW9uLA0KKwkudmlkaW9j X2dfc2VsZWN0aW9uCQk9IG10a19qcGVnX2RlY19nX3NlbGVjdGlvbiwNCiANCiAJLnZpZGlvY19j cmVhdGVfYnVmcwkJPSB2NGwyX20ybV9pb2N0bF9jcmVhdGVfYnVmcywNCiAJLnZpZGlvY19wcmVw YXJlX2J1ZgkJPSB2NGwyX20ybV9pb2N0bF9wcmVwYXJlX2J1ZiwNCkBAIC01MTcsOSArNTE5LDkg QEAgc3RhdGljIGJvb2wgbXRrX2pwZWdfY2hlY2tfcmVzb2x1dGlvbl9jaGFuZ2Uoc3RydWN0IG10 a19qcGVnX2N0eCAqY3R4LA0KIAl9DQogDQogCXFfZGF0YSA9ICZjdHgtPmNhcF9xOw0KLQlpZiAo cV9kYXRhLT5mbXQgIT0gbXRrX2pwZWdfZmluZF9mb3JtYXQobXRrX2pwZWdfZm9ybWF0cywNCi0J CQlNVEtfSlBFR19OVU1fRk9STUFUUywgcGFyYW0tPmRzdF9mb3VyY2MsDQotCQkJTVRLX0pQRUdf Rk1UX0ZMQUdfREVDX0NBUFRVUkUpKSB7DQorCWlmIChxX2RhdGEtPmZtdCAhPSBtdGtfanBlZ19m aW5kX2Zvcm1hdChtdGtfanBlZ19kZWNfZm9ybWF0cywNCisJCQlNVEtfSlBFR19ERUNfTlVNX0ZP Uk1BVFMsIHBhcmFtLT5kc3RfZm91cmNjLA0KKwkJCU1US19KUEVHX0ZNVF9GTEFHX0NBUFRVUkUp KSB7DQogCQl2NGwyX2RiZygxLCBkZWJ1ZywgJmpwZWctPnY0bDJfZGV2LCAiZm9ybWF0IGNoYW5n ZVxuIik7DQogCQlyZXR1cm4gdHJ1ZTsNCiAJfQ0KQEAgLTU0MCwxMCArNTQyLDEwIEBAIHN0YXRp YyB2b2lkIG10a19qcGVnX3NldF9xdWV1ZV9kYXRhKHN0cnVjdCBtdGtfanBlZ19jdHggKmN0eCwN CiAJcV9kYXRhID0gJmN0eC0+Y2FwX3E7DQogCXFfZGF0YS0+cGl4X21wLndpZHRoID0gcGFyYW0t PmRlY193Ow0KIAlxX2RhdGEtPnBpeF9tcC5oZWlnaHQgPSBwYXJhbS0+ZGVjX2g7DQotCXFfZGF0 YS0+Zm10ID0gbXRrX2pwZWdfZmluZF9mb3JtYXQobXRrX2pwZWdfZm9ybWF0cywNCi0JCQkJCSAg IE1US19KUEVHX05VTV9GT1JNQVRTLA0KKwlxX2RhdGEtPmZtdCA9IG10a19qcGVnX2ZpbmRfZm9y bWF0KG10a19qcGVnX2RlY19mb3JtYXRzLA0KKwkJCQkJICAgTVRLX0pQRUdfREVDX05VTV9GT1JN QVRTLA0KIAkJCQkJICAgcGFyYW0tPmRzdF9mb3VyY2MsDQotCQkJCQkgICBNVEtfSlBFR19GTVRf RkxBR19ERUNfQ0FQVFVSRSk7DQorCQkJCQkgICBNVEtfSlBFR19GTVRfRkxBR19DQVBUVVJFKTsN CiANCiAJZm9yIChpID0gMDsgaSA8IHFfZGF0YS0+Zm10LT5jb2xwbGFuZXM7IGkrKykgew0KIAkJ cV9kYXRhLT5waXhfbXAucGxhbmVfZm10W2ldLmJ5dGVzcGVybGluZSA9IHBhcmFtLT5tZW1fc3Ry aWRlW2ldOw0KQEAgLTU2MCw3ICs1NjIsNyBAQCBzdGF0aWMgdm9pZCBtdGtfanBlZ19zZXRfcXVl dWVfZGF0YShzdHJ1Y3QgbXRrX2pwZWdfY3R4ICpjdHgsDQogCQkgcGFyYW0tPmRlY193LCBwYXJh bS0+ZGVjX2gpOw0KIH0NCiANCi1zdGF0aWMgdm9pZCBtdGtfanBlZ19idWZfcXVldWUoc3RydWN0 IHZiMl9idWZmZXIgKnZiKQ0KK3N0YXRpYyB2b2lkIG10a19qcGVnX2RlY19idWZfcXVldWUoc3Ry dWN0IHZiMl9idWZmZXIgKnZiKQ0KIHsNCiAJc3RydWN0IG10a19qcGVnX2N0eCAqY3R4ID0gdmIy X2dldF9kcnZfcHJpdih2Yi0+dmIyX3F1ZXVlKTsNCiAJc3RydWN0IG10a19qcGVnX2RlY19wYXJh bSAqcGFyYW07DQpAQCAtNjA4LDcgKzYxMCw3IEBAIHN0YXRpYyBzdHJ1Y3QgdmIyX3Y0bDJfYnVm ZmVyICptdGtfanBlZ19idWZfcmVtb3ZlKHN0cnVjdCBtdGtfanBlZ19jdHggKmN0eCwNCiAJCXJl dHVybiB2NGwyX20ybV9kc3RfYnVmX3JlbW92ZShjdHgtPmZoLm0ybV9jdHgpOw0KIH0NCiANCi1z dGF0aWMgdm9pZCBtdGtfanBlZ19zdG9wX3N0cmVhbWluZyhzdHJ1Y3QgdmIyX3F1ZXVlICpxKQ0K K3N0YXRpYyB2b2lkIG10a19qcGVnX2RlY19zdG9wX3N0cmVhbWluZyhzdHJ1Y3QgdmIyX3F1ZXVl ICpxKQ0KIHsNCiAJc3RydWN0IG10a19qcGVnX2N0eCAqY3R4ID0gdmIyX2dldF9kcnZfcHJpdihx KTsNCiAJc3RydWN0IHZiMl92NGwyX2J1ZmZlciAqdmI7DQpAQCAtNjM0LDEzICs2MzYsMTMgQEAg c3RhdGljIHZvaWQgbXRrX2pwZWdfc3RvcF9zdHJlYW1pbmcoc3RydWN0IHZiMl9xdWV1ZSAqcSkN CiAJCXY0bDJfbTJtX2J1Zl9kb25lKHZiLCBWQjJfQlVGX1NUQVRFX0VSUk9SKTsNCiB9DQogDQot c3RhdGljIGNvbnN0IHN0cnVjdCB2YjJfb3BzIG10a19qcGVnX3FvcHMgPSB7DQorc3RhdGljIGNv bnN0IHN0cnVjdCB2YjJfb3BzIG10a19qcGVnX2RlY19xb3BzID0gew0KIAkucXVldWVfc2V0dXAg ICAgICAgID0gbXRrX2pwZWdfcXVldWVfc2V0dXAsDQogCS5idWZfcHJlcGFyZSAgICAgICAgPSBt dGtfanBlZ19idWZfcHJlcGFyZSwNCi0JLmJ1Zl9xdWV1ZSAgICAgICAgICA9IG10a19qcGVnX2J1 Zl9xdWV1ZSwNCisJLmJ1Zl9xdWV1ZSAgICAgICAgICA9IG10a19qcGVnX2RlY19idWZfcXVldWUs DQogCS53YWl0X3ByZXBhcmUgICAgICAgPSB2YjJfb3BzX3dhaXRfcHJlcGFyZSwNCiAJLndhaXRf ZmluaXNoICAgICAgICA9IHZiMl9vcHNfd2FpdF9maW5pc2gsDQotCS5zdG9wX3N0cmVhbWluZyAg ICAgPSBtdGtfanBlZ19zdG9wX3N0cmVhbWluZywNCisJLnN0b3Bfc3RyZWFtaW5nICAgICA9IG10 a19qcGVnX2RlY19zdG9wX3N0cmVhbWluZywNCiB9Ow0KIA0KIHN0YXRpYyB2b2lkIG10a19qcGVn X3NldF9kZWNfc3JjKHN0cnVjdCBtdGtfanBlZ19jdHggKmN0eCwNCkBAIC02ODAsNyArNjgyLDcg QEAgc3RhdGljIGludCBtdGtfanBlZ19zZXRfZGVjX2RzdChzdHJ1Y3QgbXRrX2pwZWdfY3R4ICpj dHgsDQogCXJldHVybiAwOw0KIH0NCiANCi1zdGF0aWMgdm9pZCBtdGtfanBlZ19kZXZpY2VfcnVu KHZvaWQgKnByaXYpDQorc3RhdGljIHZvaWQgbXRrX2pwZWdfZGVjX2RldmljZV9ydW4odm9pZCAq cHJpdikNCiB7DQogCXN0cnVjdCBtdGtfanBlZ19jdHggKmN0eCA9IHByaXY7DQogCXN0cnVjdCBt dGtfanBlZ19kZXYgKmpwZWcgPSBjdHgtPmpwZWc7DQpAQCAtNzE1LDExICs3MTcsMTEgQEAgc3Rh dGljIHZvaWQgbXRrX2pwZWdfZGV2aWNlX3J1bih2b2lkICpwcml2KQ0KIAkJZ290byBkZWNfZW5k Ow0KIA0KIAlzcGluX2xvY2tfaXJxc2F2ZSgmanBlZy0+aHdfbG9jaywgZmxhZ3MpOw0KLQltdGtf anBlZ19kZWNfcmVzZXQoanBlZy0+ZGVjX3JlZ19iYXNlKTsNCi0JbXRrX2pwZWdfZGVjX3NldF9j b25maWcoanBlZy0+ZGVjX3JlZ19iYXNlLA0KKwltdGtfanBlZ19kZWNfcmVzZXQoanBlZy0+cmVn X2Jhc2UpOw0KKwltdGtfanBlZ19kZWNfc2V0X2NvbmZpZyhqcGVnLT5yZWdfYmFzZSwNCiAJCQkJ JmpwZWdfc3JjX2J1Zi0+ZGVjX3BhcmFtLCAmYnMsICZmYik7DQogDQotCW10a19qcGVnX2RlY19z dGFydChqcGVnLT5kZWNfcmVnX2Jhc2UpOw0KKwltdGtfanBlZ19kZWNfc3RhcnQoanBlZy0+cmVn X2Jhc2UpOw0KIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZqcGVnLT5od19sb2NrLCBmbGFncyk7 DQogCXJldHVybjsNCiANCkBAIC03MzEsMTYgKzczMywxNiBAQCBzdGF0aWMgdm9pZCBtdGtfanBl Z19kZXZpY2VfcnVuKHZvaWQgKnByaXYpDQogCXY0bDJfbTJtX2pvYl9maW5pc2goanBlZy0+bTJt X2RldiwgY3R4LT5maC5tMm1fY3R4KTsNCiB9DQogDQotc3RhdGljIGludCBtdGtfanBlZ19qb2Jf cmVhZHkodm9pZCAqcHJpdikNCitzdGF0aWMgaW50IG10a19qcGVnX2RlY19qb2JfcmVhZHkodm9p ZCAqcHJpdikNCiB7DQogCXN0cnVjdCBtdGtfanBlZ19jdHggKmN0eCA9IHByaXY7DQogDQogCXJl dHVybiAoY3R4LT5zdGF0ZSA9PSBNVEtfSlBFR19SVU5OSU5HKSA/IDEgOiAwOw0KIH0NCiANCi1z dGF0aWMgY29uc3Qgc3RydWN0IHY0bDJfbTJtX29wcyBtdGtfanBlZ19tMm1fb3BzID0gew0KLQku ZGV2aWNlX3J1biA9IG10a19qcGVnX2RldmljZV9ydW4sDQotCS5qb2JfcmVhZHkgID0gbXRrX2pw ZWdfam9iX3JlYWR5LA0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdjRsMl9tMm1fb3BzIG10a19qcGVn X2RlY19tMm1fb3BzID0gew0KKwkuZGV2aWNlX3J1biA9IG10a19qcGVnX2RlY19kZXZpY2VfcnVu LA0KKwkuam9iX3JlYWR5ICA9IG10a19qcGVnX2RlY19qb2JfcmVhZHksDQogfTsNCiANCiBzdGF0 aWMgaW50IG10a19qcGVnX3F1ZXVlX2luaXQodm9pZCAqcHJpdiwgc3RydWN0IHZiMl9xdWV1ZSAq c3JjX3ZxLA0KQEAgLTc1Myw3ICs3NTUsNyBAQCBzdGF0aWMgaW50IG10a19qcGVnX3F1ZXVlX2lu aXQodm9pZCAqcHJpdiwgc3RydWN0IHZiMl9xdWV1ZSAqc3JjX3ZxLA0KIAlzcmNfdnEtPmlvX21v ZGVzID0gVkIyX0RNQUJVRiB8IFZCMl9NTUFQOw0KIAlzcmNfdnEtPmRydl9wcml2ID0gY3R4Ow0K IAlzcmNfdnEtPmJ1Zl9zdHJ1Y3Rfc2l6ZSA9IHNpemVvZihzdHJ1Y3QgbXRrX2pwZWdfc3JjX2J1 Zik7DQotCXNyY192cS0+b3BzID0gJm10a19qcGVnX3FvcHM7DQorCXNyY192cS0+b3BzID0gJm10 a19qcGVnX2RlY19xb3BzOw0KIAlzcmNfdnEtPm1lbV9vcHMgPSAmdmIyX2RtYV9jb250aWdfbWVt b3BzOw0KIAlzcmNfdnEtPnRpbWVzdGFtcF9mbGFncyA9IFY0TDJfQlVGX0ZMQUdfVElNRVNUQU1Q X0NPUFk7DQogCXNyY192cS0+bG9jayA9ICZjdHgtPmpwZWctPmxvY2s7DQpAQCAtNzY2LDcgKzc2 OCw3IEBAIHN0YXRpYyBpbnQgbXRrX2pwZWdfcXVldWVfaW5pdCh2b2lkICpwcml2LCBzdHJ1Y3Qg dmIyX3F1ZXVlICpzcmNfdnEsDQogCWRzdF92cS0+aW9fbW9kZXMgPSBWQjJfRE1BQlVGIHwgVkIy X01NQVA7DQogCWRzdF92cS0+ZHJ2X3ByaXYgPSBjdHg7DQogCWRzdF92cS0+YnVmX3N0cnVjdF9z aXplID0gc2l6ZW9mKHN0cnVjdCB2NGwyX20ybV9idWZmZXIpOw0KLQlkc3RfdnEtPm9wcyA9ICZt dGtfanBlZ19xb3BzOw0KKwlkc3RfdnEtPm9wcyA9ICZtdGtfanBlZ19kZWNfcW9wczsNCiAJZHN0 X3ZxLT5tZW1fb3BzID0gJnZiMl9kbWFfY29udGlnX21lbW9wczsNCiAJZHN0X3ZxLT50aW1lc3Rh bXBfZmxhZ3MgPSBWNEwyX0JVRl9GTEFHX1RJTUVTVEFNUF9DT1BZOw0KIAlkc3RfdnEtPmxvY2sg PSAmY3R4LT5qcGVnLT5sb2NrOw0KQEAgLTgwOCw3ICs4MTAsNyBAQCBzdGF0aWMgaXJxcmV0dXJu X3QgbXRrX2pwZWdfZGVjX2lycShpbnQgaXJxLCB2b2lkICpwcml2KQ0KIA0KIAljYW5jZWxfZGVs YXllZF93b3JrKCZqcGVnLT5qb2JfdGltZW91dF93b3JrKTsNCiANCi0JZGVjX3JldCA9IG10a19q cGVnX2RlY19nZXRfaW50X3N0YXR1cyhqcGVnLT5kZWNfcmVnX2Jhc2UpOw0KKwlkZWNfcmV0ID0g bXRrX2pwZWdfZGVjX2dldF9pbnRfc3RhdHVzKGpwZWctPnJlZ19iYXNlKTsNCiAJZGVjX2lycV9y ZXQgPSBtdGtfanBlZ19kZWNfZW51bV9yZXN1bHQoZGVjX3JldCk7DQogCWN0eCA9IHY0bDJfbTJt X2dldF9jdXJyX3ByaXYoanBlZy0+bTJtX2Rldik7DQogCWlmICghY3R4KSB7DQpAQCAtODIxLDcg KzgyMyw3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBtdGtfanBlZ19kZWNfaXJxKGludCBpcnEsIHZv aWQgKnByaXYpDQogCWpwZWdfc3JjX2J1ZiA9IG10a19qcGVnX3ZiMl90b19zcmNidWYoJnNyY19i dWYtPnZiMl9idWYpOw0KIA0KIAlpZiAoZGVjX2lycV9yZXQgPj0gTVRLX0pQRUdfREVDX1JFU1VM VF9VTkRFUkZMT1cpDQotCQltdGtfanBlZ19kZWNfcmVzZXQoanBlZy0+ZGVjX3JlZ19iYXNlKTsN CisJCW10a19qcGVnX2RlY19yZXNldChqcGVnLT5yZWdfYmFzZSk7DQogDQogCWlmIChkZWNfaXJx X3JldCAhPSBNVEtfSlBFR19ERUNfUkVTVUxUX0VPRl9ET05FKSB7DQogCQlkZXZfZXJyKGpwZWct PmRldiwgImRlY29kZSBmYWlsZWRcbiIpOw0KQEAgLTg1MSwxNyArODUzLDE5IEBAIHN0YXRpYyB2 b2lkIG10a19qcGVnX3NldF9kZWZhdWx0X3BhcmFtcyhzdHJ1Y3QgbXRrX2pwZWdfY3R4ICpjdHgp DQogCXEtPnBpeF9tcC5xdWFudGl6YXRpb24gPSBWNEwyX1FVQU5USVpBVElPTl9GVUxMX1JBTkdF Ow0KIAlxLT5waXhfbXAueGZlcl9mdW5jID0gVjRMMl9YRkVSX0ZVTkNfU1JHQjsNCiANCi0JcS0+ Zm10ID0gbXRrX2pwZWdfZmluZF9mb3JtYXQobXRrX2pwZWdfZm9ybWF0cywgTVRLX0pQRUdfTlVN X0ZPUk1BVFMsDQorCXEtPmZtdCA9IG10a19qcGVnX2ZpbmRfZm9ybWF0KG10a19qcGVnX2RlY19m b3JtYXRzLA0KKwkJCQkgICAgICBNVEtfSlBFR19ERUNfTlVNX0ZPUk1BVFMsDQogCQkJCSAgICAg IFY0TDJfUElYX0ZNVF9KUEVHLA0KLQkJCQkgICAgICBNVEtfSlBFR19GTVRfRkxBR19ERUNfT1VU UFVUKTsNCisJCQkJICAgICAgTVRLX0pQRUdfRk1UX0ZMQUdfT1VUUFVUKTsNCiAJcS0+cGl4X21w LndpZHRoID0gTVRLX0pQRUdfTUlOX1dJRFRIOw0KIAlxLT5waXhfbXAuaGVpZ2h0ID0gTVRLX0pQ RUdfTUlOX0hFSUdIVDsNCiAJbXRrX2pwZWdfdHJ5X2ZtdF9tcGxhbmUoJnEtPnBpeF9tcCwgcS0+ Zm10KTsNCiANCiAJcSA9ICZjdHgtPmNhcF9xOw0KLQlxLT5mbXQgPSBtdGtfanBlZ19maW5kX2Zv cm1hdChtdGtfanBlZ19mb3JtYXRzLCBNVEtfSlBFR19OVU1fRk9STUFUUywNCisJcS0+Zm10ID0g bXRrX2pwZWdfZmluZF9mb3JtYXQobXRrX2pwZWdfZGVjX2Zvcm1hdHMsDQorCQkJCSAgICAgIE1U S19KUEVHX0RFQ19OVU1fRk9STUFUUywNCiAJCQkJICAgICAgVjRMMl9QSVhfRk1UX1lVVjQyME0s DQotCQkJCSAgICAgIE1US19KUEVHX0ZNVF9GTEFHX0RFQ19DQVBUVVJFKTsNCisJCQkJICAgICAg TVRLX0pQRUdfRk1UX0ZMQUdfQ0FQVFVSRSk7DQogCXEtPnBpeF9tcC5jb2xvcnNwYWNlID0gVjRM Ml9DT0xPUlNQQUNFX1NSR0I7DQogCXEtPnBpeF9tcC55Y2Jjcl9lbmMgPSBWNEwyX1lDQkNSX0VO Q182MDE7DQogCXEtPnBpeF9tcC5xdWFudGl6YXRpb24gPSBWNEwyX1FVQU5USVpBVElPTl9GVUxM X1JBTkdFOw0KQEAgLTk4MSw3ICs5ODUsNyBAQCBzdGF0aWMgdm9pZCBtdGtfanBlZ19qb2JfdGlt ZW91dF93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykNCiAJc3JjX2J1ZiA9IHY0bDJfbTJt X3NyY19idWZfcmVtb3ZlKGN0eC0+ZmgubTJtX2N0eCk7DQogCWRzdF9idWYgPSB2NGwyX20ybV9k c3RfYnVmX3JlbW92ZShjdHgtPmZoLm0ybV9jdHgpOw0KIA0KLQltdGtfanBlZ19kZWNfcmVzZXQo anBlZy0+ZGVjX3JlZ19iYXNlKTsNCisJbXRrX2pwZWdfZGVjX3Jlc2V0KGpwZWctPnJlZ19iYXNl KTsNCiANCiAJcG1fcnVudGltZV9wdXQoanBlZy0+ZGV2KTsNCiANCkBAIC05OTMsNyArOTk3LDcg QEAgc3RhdGljIGludCBtdGtfanBlZ19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQ0KIHsNCiAJc3RydWN0IG10a19qcGVnX2RldiAqanBlZzsNCiAJc3RydWN0IHJlc291cmNlICpy ZXM7DQotCWludCBkZWNfaXJxOw0KKwlpbnQganBlZ19pcnE7DQogCWludCByZXQ7DQogDQogCWpw ZWcgPSBkZXZtX2t6YWxsb2MoJnBkZXYtPmRldiwgc2l6ZW9mKCpqcGVnKSwgR0ZQX0tFUk5FTCk7 DQpAQCAtMTAwNiwyMyArMTAxMCwyMyBAQCBzdGF0aWMgaW50IG10a19qcGVnX3Byb2JlKHN0cnVj dCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQogCUlOSVRfREVMQVlFRF9XT1JLKCZqcGVnLT5qb2Jf dGltZW91dF93b3JrLCBtdGtfanBlZ19qb2JfdGltZW91dF93b3JrKTsNCiANCiAJcmVzID0gcGxh dGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsNCi0JanBlZy0+ZGVj X3JlZ19iYXNlID0gZGV2bV9pb3JlbWFwX3Jlc291cmNlKCZwZGV2LT5kZXYsIHJlcyk7DQotCWlm IChJU19FUlIoanBlZy0+ZGVjX3JlZ19iYXNlKSkgew0KLQkJcmV0ID0gUFRSX0VSUihqcGVnLT5k ZWNfcmVnX2Jhc2UpOw0KKwlqcGVnLT5yZWdfYmFzZSA9IGRldm1faW9yZW1hcF9yZXNvdXJjZSgm cGRldi0+ZGV2LCByZXMpOw0KKwlpZiAoSVNfRVJSKGpwZWctPnJlZ19iYXNlKSkgew0KKwkJcmV0 ID0gUFRSX0VSUihqcGVnLT5yZWdfYmFzZSk7DQogCQlyZXR1cm4gcmV0Ow0KIAl9DQogDQotCWRl Y19pcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApOw0KLQlpZiAoZGVjX2lycSA8IDApIHsN Ci0JCWRldl9lcnIoJnBkZXYtPmRldiwgIkZhaWxlZCB0byBnZXQgZGVjX2lycSAlZC5cbiIsIGRl Y19pcnEpOw0KLQkJcmV0dXJuIGRlY19pcnE7DQorCWpwZWdfaXJxID0gcGxhdGZvcm1fZ2V0X2ly cShwZGV2LCAwKTsNCisJaWYgKGpwZWdfaXJxIDwgMCkgew0KKwkJZGV2X2VycigmcGRldi0+ZGV2 LCAiRmFpbGVkIHRvIGdldCBqcGVnX2lycSAlZC5cbiIsIGpwZWdfaXJxKTsNCisJCXJldHVybiBq cGVnX2lycTsNCiAJfQ0KIA0KLQlyZXQgPSBkZXZtX3JlcXVlc3RfaXJxKCZwZGV2LT5kZXYsIGRl Y19pcnEsIG10a19qcGVnX2RlY19pcnEsIDAsDQorCXJldCA9IGRldm1fcmVxdWVzdF9pcnEoJnBk ZXYtPmRldiwganBlZ19pcnEsIG10a19qcGVnX2RlY19pcnEsIDAsDQogCQkJICAgICAgIHBkZXYt Pm5hbWUsIGpwZWcpOw0KIAlpZiAocmV0KSB7DQotCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJGYWls ZWQgdG8gcmVxdWVzdCBkZWNfaXJxICVkICglZClcbiIsDQotCQkJZGVjX2lycSwgcmV0KTsNCisJ CWRldl9lcnIoJnBkZXYtPmRldiwgIkZhaWxlZCB0byByZXF1ZXN0IGpwZWdfaXJxICVkICglZClc biIsDQorCQkJanBlZ19pcnEsIHJldCk7DQogCQlnb3RvIGVycl9yZXFfaXJxOw0KIAl9DQogDQpA QCAtMTAzOSw0MCArMTA0Myw0MCBAQCBzdGF0aWMgaW50IG10a19qcGVnX3Byb2JlKHN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQogCQlnb3RvIGVycl9kZXZfcmVnaXN0ZXI7DQogCX0NCiAN Ci0JanBlZy0+bTJtX2RldiA9IHY0bDJfbTJtX2luaXQoJm10a19qcGVnX20ybV9vcHMpOw0KKwlq cGVnLT5tMm1fZGV2ID0gdjRsMl9tMm1faW5pdCgmbXRrX2pwZWdfZGVjX20ybV9vcHMpOw0KIAlp ZiAoSVNfRVJSKGpwZWctPm0ybV9kZXYpKSB7DQogCQl2NGwyX2VycigmanBlZy0+djRsMl9kZXYs ICJGYWlsZWQgdG8gaW5pdCBtZW0ybWVtIGRldmljZVxuIik7DQogCQlyZXQgPSBQVFJfRVJSKGpw ZWctPm0ybV9kZXYpOw0KIAkJZ290byBlcnJfbTJtX2luaXQ7DQogCX0NCiANCi0JanBlZy0+ZGVj X3ZkZXYgPSB2aWRlb19kZXZpY2VfYWxsb2MoKTsNCi0JaWYgKCFqcGVnLT5kZWNfdmRldikgew0K KwlqcGVnLT52ZGV2ID0gdmlkZW9fZGV2aWNlX2FsbG9jKCk7DQorCWlmICghanBlZy0+dmRldikg ew0KIAkJcmV0ID0gLUVOT01FTTsNCi0JCWdvdG8gZXJyX2RlY192ZGV2X2FsbG9jOw0KKwkJZ290 byBlcnJfdmZkX2pwZWdfYWxsb2M7DQogCX0NCi0Jc25wcmludGYoanBlZy0+ZGVjX3ZkZXYtPm5h bWUsIHNpemVvZihqcGVnLT5kZWNfdmRldi0+bmFtZSksDQorCXNucHJpbnRmKGpwZWctPnZkZXYt Pm5hbWUsIHNpemVvZihqcGVnLT52ZGV2LT5uYW1lKSwNCiAJCSAiJXMtZGVjIiwgTVRLX0pQRUdf TkFNRSk7DQotCWpwZWctPmRlY192ZGV2LT5mb3BzID0gJm10a19qcGVnX2ZvcHM7DQotCWpwZWct PmRlY192ZGV2LT5pb2N0bF9vcHMgPSAmbXRrX2pwZWdfaW9jdGxfb3BzOw0KLQlqcGVnLT5kZWNf dmRldi0+bWlub3IgPSAtMTsNCi0JanBlZy0+ZGVjX3ZkZXYtPnJlbGVhc2UgPSB2aWRlb19kZXZp Y2VfcmVsZWFzZTsNCi0JanBlZy0+ZGVjX3ZkZXYtPmxvY2sgPSAmanBlZy0+bG9jazsNCi0JanBl Zy0+ZGVjX3ZkZXYtPnY0bDJfZGV2ID0gJmpwZWctPnY0bDJfZGV2Ow0KLQlqcGVnLT5kZWNfdmRl di0+dmZsX2RpciA9IFZGTF9ESVJfTTJNOw0KLQlqcGVnLT5kZWNfdmRldi0+ZGV2aWNlX2NhcHMg PSBWNEwyX0NBUF9TVFJFQU1JTkcgfA0KLQkJCQkgICAgICBWNEwyX0NBUF9WSURFT19NMk1fTVBM QU5FOw0KLQ0KLQlyZXQgPSB2aWRlb19yZWdpc3Rlcl9kZXZpY2UoanBlZy0+ZGVjX3ZkZXYsIFZG TF9UWVBFX1ZJREVPLCAtMSk7DQorCWpwZWctPnZkZXYtPmZvcHMgPSAmbXRrX2pwZWdfZm9wczsN CisJanBlZy0+dmRldi0+aW9jdGxfb3BzID0gJm10a19qcGVnX2RlY19pb2N0bF9vcHM7DQorCWpw ZWctPnZkZXYtPm1pbm9yID0gLTE7DQorCWpwZWctPnZkZXYtPnJlbGVhc2UgPSB2aWRlb19kZXZp Y2VfcmVsZWFzZTsNCisJanBlZy0+dmRldi0+bG9jayA9ICZqcGVnLT5sb2NrOw0KKwlqcGVnLT52 ZGV2LT52NGwyX2RldiA9ICZqcGVnLT52NGwyX2RldjsNCisJanBlZy0+dmRldi0+dmZsX2RpciA9 IFZGTF9ESVJfTTJNOw0KKwlqcGVnLT52ZGV2LT5kZXZpY2VfY2FwcyA9IFY0TDJfQ0FQX1NUUkVB TUlORyB8DQorCQkJCSAgVjRMMl9DQVBfVklERU9fTTJNX01QTEFORTsNCisNCisJcmV0ID0gdmlk ZW9fcmVnaXN0ZXJfZGV2aWNlKGpwZWctPnZkZXYsIFZGTF9UWVBFX1ZJREVPLCAtMSk7DQogCWlm IChyZXQpIHsNCiAJCXY0bDJfZXJyKCZqcGVnLT52NGwyX2RldiwgIkZhaWxlZCB0byByZWdpc3Rl ciB2aWRlbyBkZXZpY2VcbiIpOw0KLQkJZ290byBlcnJfZGVjX3ZkZXZfcmVnaXN0ZXI7DQorCQln b3RvIGVycl92ZmRfanBlZ19yZWdpc3RlcjsNCiAJfQ0KIA0KLQl2aWRlb19zZXRfZHJ2ZGF0YShq cGVnLT5kZWNfdmRldiwganBlZyk7DQorCXZpZGVvX3NldF9kcnZkYXRhKGpwZWctPnZkZXYsIGpw ZWcpOw0KIAl2NGwyX2luZm8oJmpwZWctPnY0bDJfZGV2LA0KIAkJICAiZGVjb2RlciBkZXZpY2Ug cmVnaXN0ZXJlZCBhcyAvZGV2L3ZpZGVvJWQgKCVkLCVkKVxuIiwNCi0JCSAganBlZy0+ZGVjX3Zk ZXYtPm51bSwgVklERU9fTUFKT1IsIGpwZWctPmRlY192ZGV2LT5taW5vcik7DQorCQkgIGpwZWct PnZkZXYtPm51bSwgVklERU9fTUFKT1IsIGpwZWctPnZkZXYtPm1pbm9yKTsNCiANCiAJcGxhdGZv cm1fc2V0X2RydmRhdGEocGRldiwganBlZyk7DQogDQpAQCAtMTA4MCwxMCArMTA4NCwxMCBAQCBz dGF0aWMgaW50IG10a19qcGVnX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQog DQogCXJldHVybiAwOw0KIA0KLWVycl9kZWNfdmRldl9yZWdpc3RlcjoNCi0JdmlkZW9fZGV2aWNl X3JlbGVhc2UoanBlZy0+ZGVjX3ZkZXYpOw0KK2Vycl92ZmRfanBlZ19yZWdpc3RlcjoNCisJdmlk ZW9fZGV2aWNlX3JlbGVhc2UoanBlZy0+dmRldik7DQogDQotZXJyX2RlY192ZGV2X2FsbG9jOg0K K2Vycl92ZmRfanBlZ19hbGxvYzoNCiAJdjRsMl9tMm1fcmVsZWFzZShqcGVnLT5tMm1fZGV2KTsN CiANCiBlcnJfbTJtX2luaXQ6DQpAQCAtMTEwMyw4ICsxMTA3LDggQEAgc3RhdGljIGludCBtdGtf anBlZ19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCiAJc3RydWN0IG10a19q cGVnX2RldiAqanBlZyA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOw0KIA0KIAlwbV9ydW50 aW1lX2Rpc2FibGUoJnBkZXYtPmRldik7DQotCXZpZGVvX3VucmVnaXN0ZXJfZGV2aWNlKGpwZWct PmRlY192ZGV2KTsNCi0JdmlkZW9fZGV2aWNlX3JlbGVhc2UoanBlZy0+ZGVjX3ZkZXYpOw0KKwl2 aWRlb191bnJlZ2lzdGVyX2RldmljZShqcGVnLT52ZGV2KTsNCisJdmlkZW9fZGV2aWNlX3JlbGVh c2UoanBlZy0+dmRldik7DQogCXY0bDJfbTJtX3JlbGVhc2UoanBlZy0+bTJtX2Rldik7DQogCXY0 bDJfZGV2aWNlX3VucmVnaXN0ZXIoJmpwZWctPnY0bDJfZGV2KTsNCiANCmRpZmYgLS1naXQgYS9k cml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1qcGVnL210a19qcGVnX2NvcmUuaCBiL2RyaXZlcnMv bWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcvbXRrX2pwZWdfY29yZS5oDQppbmRleCBhNTRlMWU4MmU2 NTUuLjBmMjc0ODBkZDkwZCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRr LWpwZWcvbXRrX2pwZWdfY29yZS5oDQorKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1q cGVnL210a19qcGVnX2NvcmUuaA0KQEAgLTE3LDggKzE3LDggQEANCiANCiAjZGVmaW5lIE1US19K UEVHX0NPTVBfTUFYCQkzDQogDQotI2RlZmluZSBNVEtfSlBFR19GTVRfRkxBR19ERUNfT1VUUFVU CUJJVCgwKQ0KLSNkZWZpbmUgTVRLX0pQRUdfRk1UX0ZMQUdfREVDX0NBUFRVUkUJQklUKDEpDQor I2RlZmluZSBNVEtfSlBFR19GTVRfRkxBR19PVVRQVVQJQklUKDApDQorI2RlZmluZSBNVEtfSlBF R19GTVRfRkxBR19DQVBUVVJFCUJJVCgxKQ0KIA0KICNkZWZpbmUgTVRLX0pQRUdfTUlOX1dJRFRI CTMyVQ0KICNkZWZpbmUgTVRLX0pQRUdfTUlOX0hFSUdIVAkzMlUNCkBAIC01MCw4ICs1MCw4IEBA IGVudW0gbXRrX2pwZWdfY3R4X3N0YXRlIHsNCiAgKiBAdjRsMl9kZXY6CQl2NGwyIGRldmljZSBm b3IgbWVtMm1lbSBtb2RlDQogICogQG0ybV9kZXY6CQl2NGwyIG1lbTJtZW0gZGV2aWNlIGRhdGEN CiAgKiBAYWxsb2NfY3R4OgkJdmlkZW9idWYyIG1lbW9yeSBhbGxvY2F0b3IncyBjb250ZXh0DQot ICogQGRlY192ZGV2OgkJdmlkZW8gZGV2aWNlIG5vZGUgZm9yIGRlY29kZXIgbWVtMm1lbSBtb2Rl DQotICogQGRlY19yZWdfYmFzZToJSlBFRyByZWdpc3RlcnMgbWFwcGluZw0KKyAqIEB2ZGV2OgkJ dmlkZW8gZGV2aWNlIG5vZGUgZm9yIGpwZWcgbWVtMm1lbSBtb2RlDQorICogQHJlZ19iYXNlOgkJ SlBFRyByZWdpc3RlcnMgbWFwcGluZw0KICAqIEBjbGtzOgkJY2xvY2sgbmFtZXMNCiAgKiBAbnVt X2Nsa3M6CQludW1iZXJzIG9mIGNsb2NrDQogICogQGxhcmI6CQlTTUkgZGV2aWNlDQpAQCAtNjUs OCArNjUsOCBAQCBzdHJ1Y3QgbXRrX2pwZWdfZGV2IHsNCiAJc3RydWN0IHY0bDJfZGV2aWNlCXY0 bDJfZGV2Ow0KIAlzdHJ1Y3QgdjRsMl9tMm1fZGV2CSptMm1fZGV2Ow0KIAl2b2lkCQkJKmFsbG9j X2N0eDsNCi0Jc3RydWN0IHZpZGVvX2RldmljZQkqZGVjX3ZkZXY7DQotCXZvaWQgX19pb21lbQkJ KmRlY19yZWdfYmFzZTsNCisJc3RydWN0IHZpZGVvX2RldmljZQkqdmRldjsNCisJdm9pZCBfX2lv bWVtCQkqcmVnX2Jhc2U7DQogCXN0cnVjdCBjbGtfYnVsa19kYXRhICpjbGtzOw0KIAlpbnQgbnVt X2Nsa3M7DQogCXN0cnVjdCBkZXZpY2UJCSpsYXJiOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVk aWEvcGxhdGZvcm0vbXRrLWpwZWcvbXRrX2pwZWdfZGVjX2h3LmggYi9kcml2ZXJzL21lZGlhL3Bs YXRmb3JtL210ay1qcGVnL210a19qcGVnX2RlY19ody5oDQppbmRleCAxY2MzN2RiZmM4ZTcuLmZh MGQ0NWZkN2MzNCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcv bXRrX2pwZWdfZGVjX2h3LmgNCisrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcv bXRrX2pwZWdfZGVjX2h3LmgNCkBAIC0zLDEwICszLDExIEBADQogICogQ29weXJpZ2h0IChjKSAy MDE2IE1lZGlhVGVrIEluYy4NCiAgKiBBdXRob3I6IE1pbmcgSHNpdSBUc2FpIDxtaW5naHNpdS50 c2FpQG1lZGlhdGVrLmNvbT4NCiAgKiAgICAgICAgIFJpY2sgQ2hhbmcgPHJpY2suY2hhbmdAbWVk aWF0ZWsuY29tPg0KKyAqICAgICAgICAgWGlhIEppYW5nIDx4aWEuamlhbmdAbWVkaWF0ZWsuY29t Pg0KICAqLw0KIA0KLSNpZm5kZWYgX01US19KUEVHX0hXX0gNCi0jZGVmaW5lIF9NVEtfSlBFR19I V19IDQorI2lmbmRlZiBfTVRLX0pQRUdfREVDX0hXX0gNCisjZGVmaW5lIF9NVEtfSlBFR19ERUNf SFdfSA0KIA0KICNpbmNsdWRlIDxtZWRpYS92aWRlb2J1ZjItY29yZS5oPg0KIA0KLS0gDQoyLjE4 LjANCg==