Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp3793429imm; Mon, 4 Jun 2018 09:19:04 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKdXAtTm86d0K1mSaubeDQxkeNVqjfQVEmnCreVq9p05YJdJv/qNLc2TKNL1Z36mtb1MmN5 X-Received: by 2002:a17:902:7d85:: with SMTP id a5-v6mr22308938plm.356.1528129143965; Mon, 04 Jun 2018 09:19:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528129143; cv=none; d=google.com; s=arc-20160816; b=i5SN/Hm08eLRQ4nW7mU2KaTeWfIILIRUegRLjux7aBxWosbIevTf5245L6fMt1HozN 8ANy7wQC5k9PU3e6/90hxr8tRvv+wdI1EGYrr926YPXwJsVgEO3lCRmK665GQa3BG6E+ rqD54/8k/VZKlNxCxRIkf3J7iIW/fstqcKp690TSw8NckwMpDGwDJUvzgOylDd61cI/m ydKo9Qk181IK8wbARTyiTq22QWt+v/HQANXSicH65zWO8jJHUccZ1iMArRuPqBn8SHg+ BKjYFU4Tx7b0pTQMkGumf4xcHngQdenEueD34h96+I5WGxCASZMcYzs8HBcbtswfuysy 51Xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:message-id:references :in-reply-to:subject:cc:to:from:date:content-transfer-encoding :mime-version:dkim-signature:dkim-signature :arc-authentication-results; bh=oeUmntHgLP7+KEJd7Oa/zzvVLVfuyTbWxfxOCC6XE4s=; b=T0gOiQuLnHMHMhVrIoy+4CzTE5u52LUlCKE/gDXUMEcDFE/Hgt0QAUMz0F0WVxr0zy N98ZLmAZ9ZCzhBlm4REazMWE0/5wZNlfS/oJRsvRiMWDTyG+NJA0oknBmUVYrOuJuF4T /N4qX/afaz7d3JbnfcKKovSqGip1GPh9ML37bgwgCNMjdKudaUZWfluKTalWdDzzGESj KPeIU/B7GcdIFKFlWuC/Q8HxbdAM6kDSCyilAS6f2LSzh2vqrAHKJzrmGQOjO3O4e0hX WaTeArd+SS1KmaDeQTzaQYj8IYlpZry1jY6+AuOaELirBawgJfQGSZ9AcxqjgF0eBcmZ c6pA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=IpLkpSza; dkim=pass header.i=@codeaurora.org header.s=default header.b=IpLkpSza; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f28-v6si11391516pfk.107.2018.06.04.09.18.49; Mon, 04 Jun 2018 09:19:03 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=IpLkpSza; dkim=pass header.i=@codeaurora.org header.s=default header.b=IpLkpSza; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751312AbeFDQSY (ORCPT + 99 others); Mon, 4 Jun 2018 12:18:24 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:45928 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751151AbeFDQSW (ORCPT ); Mon, 4 Jun 2018 12:18:22 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id D831B60290; Mon, 4 Jun 2018 16:18:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1528129101; bh=unxx/y73G8HdYywnyiizMTdKqxBr1rcVgOMF6fcg1U8=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=IpLkpSzaZOxuXcmoiS6hmzoMqiLtAWDtVvwAHtY3rSnkaqJxvfyxlUzFPvzGGyRGU sulurhMI9mKxPN0CCHwyYiok9YNiM9Z7FTD85cOacR0g6X/0e2WzPoMn2g4l9VPfQk GhMWEaZm+6/Kwe+xik2IYv+I844ykk2jDECVerN8= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from mail.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.codeaurora.org (Postfix) with ESMTP id F2F0B60290; Mon, 4 Jun 2018 16:18:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1528129101; bh=unxx/y73G8HdYywnyiizMTdKqxBr1rcVgOMF6fcg1U8=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=IpLkpSzaZOxuXcmoiS6hmzoMqiLtAWDtVvwAHtY3rSnkaqJxvfyxlUzFPvzGGyRGU sulurhMI9mKxPN0CCHwyYiok9YNiM9Z7FTD85cOacR0g6X/0e2WzPoMn2g4l9VPfQk GhMWEaZm+6/Kwe+xik2IYv+I844ykk2jDECVerN8= MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Mon, 04 Jun 2018 09:18:20 -0700 From: rishabhb@codeaurora.org To: linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-arm@lists.infradead.org, tsoni@codeaurora.org, ckadabi@codeaurora.org, evgreen@chromium.org, robh@kernel.org, andy.shevchenko@gmail.com Subject: Re: [PATCH v8 0/2] SDM845 System Cache Driver In-Reply-To: <1527122121-31452-1-git-send-email-rishabhb@codeaurora.org> References: <1527122121-31452-1-git-send-email-rishabhb@codeaurora.org> Message-ID: <88e899d928575c59ee5beacd3b3b16f5@codeaurora.org> X-Sender: rishabhb@codeaurora.org User-Agent: Roundcube Webmail/1.2.5 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2018-05-23 17:35, Rishabh Bhatnagar wrote: > This series implements system cache or LLCC(Last Level Cache > Controller) > driver for SDM845 SOC. The purpose of the driver is to partition the > system cache and program the settings such as priortiy, lines to probe > while doing a look up in the system cache, low power related settings > etc. > The partitions are called cache slices. Each cache slice is associated > with size and SCID(System Cache ID). The driver also provides API for > clients to query the cache slice details,activate and deactivate them. > > The driver can be broadly classified into: > * SOC specific driver: llcc-sdm845.c: Cache partitioning and cache > slice > properties for usecases on sdm845 that need to use system cache. > > * API : llcc-slice.c: Exports APIs to clients to query cache slice > details, > activate and deactivate cache slices. > > Changes since v7: > * Change the DT node name to cache-controller. > * Use the module_platform_driver_macro > * Use GENMASK and SZ_* macros > * Correct indentation, and remove unnecessary assignemnts. > * Addresed all comments by Andy Schevchenko except the comment to > ignore some > lines of code going over 80 characters. > > Changes since v6: > * Remove the max-slices property from DT. > * Make client's slice_ids as macros. > * Unlock mutex while returning from function in case of error. > > Changes since v5: > * Remove client information from DT. > * Make the llcc driver data as global. > * Check return value of llcc_update_act_ctrl function > * Change error returned from -EFAULT to -EINVAL > > Changes since v4: > * Remove null pointer checks as per comments. > * Remove extra blank lines. > > Changes since v3: > * Use the regmap_read_poll_timeout function > * Check for regmap read/write errors. > * Remove memory barrier after regmap write > * Derive memory bank offsets using stride macro variable > * Remove debug statements from code > * Remove the qcom_llcc_remove function > * Use if IS_ENABLED in place of ifdef for built-in module > * Change EXPORT_SYMBOL to EXPORT_SYMBOL_GPL > * Remove unnecessary free functions > * Change the variable names as per review comments > > Changes since v2: > * Corrected the Makefile to fix compilation. > > Changes since v1: > * Added Makefile and Kconfig. > > Changes since v0: > * Removed the syscon and simple-mfd approach > * Updated the device tree nodes to mention LLCC as a single HW block > * Moved llcc bank offsets from device tree and handled the offset > in the driver. > > ckadabi@codeaurora.org (2): > dt-bindings: Documentation for qcom, llcc > drivers: soc: Add LLCC driver > > .../devicetree/bindings/arm/msm/qcom,llcc.txt | 26 ++ > drivers/soc/qcom/Kconfig | 17 ++ > drivers/soc/qcom/Makefile | 2 + > drivers/soc/qcom/llcc-sdm845.c | 94 ++++++ > drivers/soc/qcom/llcc-slice.c | 335 > +++++++++++++++++++++ > include/linux/soc/qcom/llcc-qcom.h | 180 +++++++++++ > 6 files changed, 654 insertions(+) > create mode 100644 > Documentation/devicetree/bindings/arm/msm/qcom,llcc.txt > create mode 100644 drivers/soc/qcom/llcc-sdm845.c > create mode 100644 drivers/soc/qcom/llcc-slice.c > create mode 100644 include/linux/soc/qcom/llcc-qcom.h Does this spin look fine to everyone? If yes can we go ahead and merge this?