All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeykumar Sankaran <jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
To: Sean Paul <sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org>
Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Abhinav Kumar <abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
	robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	Sean Paul <seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
	freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Subject: Re: [PATCH 09/12] drm/msm: dpu: Remove dpu_power_handle
Date: Mon, 12 Nov 2018 17:30:45 -0800	[thread overview]
Message-ID: <dbd7c81e1f4dd1712d61c1b0982196a6@codeaurora.org> (raw)
In-Reply-To: <20181112194222.193546-10-sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org>

On 2018-11-12 11:42, Sean Paul wrote:
> From: Sean Paul <seanpaul@chromium.org>
> 
> Now that we don't have any event handlers, remove dpu_power_handle!
> 
> Signed-off-by: Sean Paul <seanpaul@chromium.org>

Reviewed-by: Jeykumar Sankaran <jsanka@codeaurora.org>

> ---
>  drivers/gpu/drm/msm/Makefile                  |   1 -
>  drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c       |  11 --
>  drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h       |   3 -
>  .../gpu/drm/msm/disp/dpu1/dpu_power_handle.c  | 136 ------------------
>  .../gpu/drm/msm/disp/dpu1/dpu_power_handle.h  | 113 ---------------
>  5 files changed, 264 deletions(-)
>  delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.c
>  delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.h
> 
> diff --git a/drivers/gpu/drm/msm/Makefile 
> b/drivers/gpu/drm/msm/Makefile
> index 19ab521d4c3a..7d02ef3655b5 100644
> --- a/drivers/gpu/drm/msm/Makefile
> +++ b/drivers/gpu/drm/msm/Makefile
> @@ -72,7 +72,6 @@ msm-y := \
>  	disp/dpu1/dpu_kms.o \
>  	disp/dpu1/dpu_mdss.o \
>  	disp/dpu1/dpu_plane.o \
> -	disp/dpu1/dpu_power_handle.o \
>  	disp/dpu1/dpu_rm.o \
>  	disp/dpu1/dpu_vbif.o \
>  	msm_atomic.o \
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
> b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
> index bae7e86b2913..e42685a1d928 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
> @@ -1063,8 +1063,6 @@ static int dpu_bind(struct device *dev, struct
> device *master, void *data)
>  		return ret;
>  	}
> 
> -	dpu_power_resource_init(pdev, &dpu_kms->phandle);
> -
>  	platform_set_drvdata(pdev, dpu_kms);
> 
>  	msm_kms_init(&dpu_kms->base, &kms_funcs);
> @@ -1084,7 +1082,6 @@ static void dpu_unbind(struct device *dev, struct
> device *master, void *data)
>  	struct dpu_kms *dpu_kms = platform_get_drvdata(pdev);
>  	struct dss_module_power *mp = &dpu_kms->mp;
> 
> -	dpu_power_resource_deinit(pdev, &dpu_kms->phandle);
>  	msm_dss_put_clk(mp->clk_config, mp->num_clk);
>  	devm_kfree(&pdev->dev, mp->clk_config);
>  	mp->num_clk = 0;
> @@ -1123,10 +1120,6 @@ static int __maybe_unused
> dpu_runtime_suspend(struct device *dev)
>  		return rc;
>  	}
> 
> -	rc = dpu_power_resource_enable(&dpu_kms->phandle, false);
> -	if (rc)
> -		DPU_ERROR("resource disable failed: %d\n", rc);
> -
>  	rc = msm_dss_enable_clk(mp->clk_config, mp->num_clk, false);
>  	if (rc)
>  		DPU_ERROR("clock disable failed rc:%d\n", rc);
> @@ -1160,10 +1153,6 @@ static int __maybe_unused 
> dpu_runtime_resume(struct
> device *dev)
>  	drm_for_each_crtc(crtc, ddev)
>  		dpu_crtc_runtime_resume(crtc);
> 
> -	rc = dpu_power_resource_enable(&dpu_kms->phandle, true);
> -	if (rc)
> -		DPU_ERROR("resource enable failed: %d\n", rc);
> -
>  	return rc;
>  }
> 
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
> b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
> index 4e5acacb3065..59e18e2d3c59 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
> @@ -31,7 +31,6 @@
>  #include "dpu_hw_top.h"
>  #include "dpu_io_util.h"
>  #include "dpu_rm.h"
> -#include "dpu_power_handle.h"
>  #include "dpu_irq.h"
>  #include "dpu_core_perf.h"
> 
> @@ -114,8 +113,6 @@ struct dpu_kms {
>  	int core_rev;
>  	struct dpu_mdss_cfg *catalog;
> 
> -	struct dpu_power_handle phandle;
> -
>  	/* directory entry for debugfs */
>  	struct dentry *debugfs_root;
>  	struct dentry *debugfs_danger;
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.c
> b/drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.c
> deleted file mode 100644
> index 8e64f0a52147..000000000000
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.c
> +++ /dev/null
> @@ -1,136 +0,0 @@
> -/* Copyright (c) 2014-2018, The Linux Foundation. All rights reserved.
> - *
> - * This program is free software; you can redistribute it and/or 
> modify
> - * it under the terms of the GNU General Public License version 2 and
> - * only version 2 as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - */
> -
> -#define pr_fmt(fmt)	"[drm:%s:%d]: " fmt, __func__, __LINE__
> -
> -#include <linux/kernel.h>
> -#include <linux/of.h>
> -#include <linux/string.h>
> -#include <linux/of_address.h>
> -#include <linux/slab.h>
> -#include <linux/mutex.h>
> -#include <linux/of_platform.h>
> -
> -#include "dpu_power_handle.h"
> -#include "dpu_trace.h"
> -
> -static void dpu_power_event_trigger_locked(struct dpu_power_handle
> *phandle,
> -		u32 event_type)
> -{
> -	struct dpu_power_event *event;
> -
> -	list_for_each_entry(event, &phandle->event_list, list) {
> -		if (event->event_type & event_type)
> -			event->cb_fnc(event_type, event->usr);
> -	}
> -}
> -
> -void dpu_power_resource_init(struct platform_device *pdev,
> -	struct dpu_power_handle *phandle)
> -{
> -	phandle->dev = &pdev->dev;
> -
> -	INIT_LIST_HEAD(&phandle->event_list);
> -
> -	mutex_init(&phandle->phandle_lock);
> -}
> -
> -void dpu_power_resource_deinit(struct platform_device *pdev,
> -	struct dpu_power_handle *phandle)
> -{
> -	struct dpu_power_event *curr_event, *next_event;
> -
> -	if (!phandle || !pdev) {
> -		pr_err("invalid input param\n");
> -		return;
> -	}
> -
> -	mutex_lock(&phandle->phandle_lock);
> -	list_for_each_entry_safe(curr_event, next_event,
> -			&phandle->event_list, list) {
> -		pr_err("event:%d, client:%s still registered\n",
> -				curr_event->event_type,
> -				curr_event->client_name);
> -		curr_event->active = false;
> -		list_del(&curr_event->list);
> -	}
> -	mutex_unlock(&phandle->phandle_lock);
> -}
> -
> -int dpu_power_resource_enable(struct dpu_power_handle *phandle, bool
> enable)
> -{
> -	u32 event_type;
> -
> -	if (!phandle) {
> -		pr_err("invalid input argument\n");
> -		return -EINVAL;
> -	}
> -
> -	mutex_lock(&phandle->phandle_lock);
> -
> -	event_type = enable ? DPU_POWER_EVENT_ENABLE :
> DPU_POWER_EVENT_DISABLE;
> -
> -	dpu_power_event_trigger_locked(phandle,	event_type);
> -
> -	mutex_unlock(&phandle->phandle_lock);
> -	return 0;
> -}
> -
> -struct dpu_power_event *dpu_power_handle_register_event(
> -		struct dpu_power_handle *phandle,
> -		u32 event_type, void (*cb_fnc)(u32 event_type, void *usr),
> -		void *usr, char *client_name)
> -{
> -	struct dpu_power_event *event;
> -
> -	if (!phandle) {
> -		pr_err("invalid power handle\n");
> -		return ERR_PTR(-EINVAL);
> -	} else if (!cb_fnc || !event_type) {
> -		pr_err("no callback fnc or event type\n");
> -		return ERR_PTR(-EINVAL);
> -	}
> -
> -	event = kzalloc(sizeof(struct dpu_power_event), GFP_KERNEL);
> -	if (!event)
> -		return ERR_PTR(-ENOMEM);
> -
> -	event->event_type = event_type;
> -	event->cb_fnc = cb_fnc;
> -	event->usr = usr;
> -	strlcpy(event->client_name, client_name, MAX_CLIENT_NAME_LEN);
> -	event->active = true;
> -
> -	mutex_lock(&phandle->phandle_lock);
> -	list_add(&event->list, &phandle->event_list);
> -	mutex_unlock(&phandle->phandle_lock);
> -
> -	return event;
> -}
> -
> -void dpu_power_handle_unregister_event(
> -		struct dpu_power_handle *phandle,
> -		struct dpu_power_event *event)
> -{
> -	if (!phandle || !event) {
> -		pr_err("invalid phandle or event\n");
> -	} else if (!event->active) {
> -		pr_err("power handle deinit already done\n");
> -		kfree(event);
> -	} else {
> -		mutex_lock(&phandle->phandle_lock);
> -		list_del_init(&event->list);
> -		mutex_unlock(&phandle->phandle_lock);
> -		kfree(event);
> -	}
> -}
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.h
> b/drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.h
> deleted file mode 100644
> index 7536624c8b20..000000000000
> --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_power_handle.h
> +++ /dev/null
> @@ -1,113 +0,0 @@
> -/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
> - *
> - * This program is free software; you can redistribute it and/or 
> modify
> - * it under the terms of the GNU General Public License version 2 and
> - * only version 2 as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - */
> -
> -#ifndef _DPU_POWER_HANDLE_H_
> -#define _DPU_POWER_HANDLE_H_
> -
> -#define MAX_CLIENT_NAME_LEN 128
> -
> -#define DPU_POWER_HANDLE_ENABLE_BUS_AB_QUOTA	0
> -#define DPU_POWER_HANDLE_DISABLE_BUS_AB_QUOTA	0
> -#define DPU_POWER_HANDLE_ENABLE_BUS_IB_QUOTA	1600000000
> -#define DPU_POWER_HANDLE_DISABLE_BUS_IB_QUOTA	0
> -
> -#include "dpu_io_util.h"
> -
> -/* events will be triggered on power handler enable/disable */
> -#define DPU_POWER_EVENT_DISABLE	BIT(0)
> -#define DPU_POWER_EVENT_ENABLE	BIT(1)
> -
> -/*
> - * struct dpu_power_event - local event registration structure
> - * @client_name: name of the client registering
> - * @cb_fnc: pointer to desired callback function
> - * @usr: user pointer to pass to callback event trigger
> - * @event: refer to DPU_POWER_HANDLE_EVENT_*
> - * @list: list to attach event master list
> - * @active: indicates the state of dpu power handle
> - */
> -struct dpu_power_event {
> -	char client_name[MAX_CLIENT_NAME_LEN];
> -	void (*cb_fnc)(u32 event_type, void *usr);
> -	void *usr;
> -	u32 event_type;
> -	struct list_head list;
> -	bool active;
> -};
> -
> -/**
> - * struct dpu_power_handle: power handle main struct
> - * @phandle_lock: lock to synchronize the enable/disable
> - * @dev: pointer to device structure
> - * @usecase_ndx: current usecase index
> - * @event_list: current power handle event list
> - */
> -struct dpu_power_handle {
> -	struct mutex phandle_lock;
> -	struct device *dev;
> -	u32 current_usecase_ndx;
> -	struct list_head event_list;
> -};
> -
> -/**
> - * dpu_power_resource_init() - initializes the dpu power handle
> - * @pdev:   platform device to search the power resources
> - * @pdata:  power handle to store the power resources
> - */
> -void dpu_power_resource_init(struct platform_device *pdev,
> -	struct dpu_power_handle *pdata);
> -
> -/**
> - * dpu_power_resource_deinit() - release the dpu power handle
> - * @pdev:   platform device for power resources
> - * @pdata:  power handle containing the resources
> - *
> - * Return: error code.
> - */
> -void dpu_power_resource_deinit(struct platform_device *pdev,
> -	struct dpu_power_handle *pdata);
> -
> -/**
> - * dpu_power_resource_enable() - enable/disable the power resources
> - * @pdata:  power handle containing the resources
> - * @enable: boolean request for enable/disable
> - *
> - * Return: error code.
> - */
> -int dpu_power_resource_enable(struct dpu_power_handle *pdata, bool
> enable);
> -
> -/**
> - * dpu_power_handle_register_event - register a callback function for 
> an
> event.
> - *	Clients can register for multiple events with a single register.
> - *	Any block with access to phandle can register for the event
> - *	notification.
> - * @phandle:	power handle containing the resources
> - * @event_type:	event type to register; refer
> DPU_POWER_HANDLE_EVENT_*
> - * @cb_fnc:	pointer to desired callback function
> - * @usr:	user pointer to pass to callback on event trigger
> - *
> - * Return:	event pointer if success, or error code otherwise
> - */
> -struct dpu_power_event *dpu_power_handle_register_event(
> -		struct dpu_power_handle *phandle,
> -		u32 event_type, void (*cb_fnc)(u32 event_type, void *usr),
> -		void *usr, char *client_name);
> -/**
> - * dpu_power_handle_unregister_event - unregister callback for 
> event(s)
> - * @phandle:	power handle containing the resources
> - * @event:	event pointer returned after power handle register
> - */
> -void dpu_power_handle_unregister_event(struct dpu_power_handle 
> *phandle,
> -		struct dpu_power_event *event);
> -
> -#endif /* _DPU_POWER_HANDLE_H_ */

-- 
Jeykumar S
_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

  parent reply	other threads:[~2018-11-13  1:30 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-12 19:42 [PATCH 00/12] drm/msm: dpu: Clean up runtime power handling Sean Paul
2018-11-12 19:42 ` [PATCH 02/12] drm/msm: dpu: Remove unused trace_dpu_perf_update_bus() Sean Paul
     [not found]   ` <20181112194222.193546-3-sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org>
2018-11-13  0:48     ` Jeykumar Sankaran
     [not found] ` <20181112194222.193546-1-sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org>
2018-11-12 19:42   ` [PATCH 01/12] drm/msm: dpu: Remove dpu_power_handle_get_dbus_name() Sean Paul
     [not found]     ` <20181112194222.193546-2-sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org>
2018-11-13  0:37       ` Jeykumar Sankaran
2018-11-12 19:42   ` [PATCH 03/12] drm/msm: dpu: Remove dpu_power_client Sean Paul
     [not found]     ` <20181112194222.193546-4-sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org>
2018-11-13  0:57       ` Jeykumar Sankaran
2018-11-12 19:42   ` [PATCH 07/12] drm/msm: dpu: Include dpu_io_util.h directly in dpu_kms.h Sean Paul
     [not found]     ` <20181112194222.193546-8-sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org>
2018-11-13  1:26       ` Jeykumar Sankaran
2018-11-12 19:42   ` [PATCH 10/12] drm/msm: dpu: Fix typo in dpu_encoder Sean Paul
     [not found]     ` <20181112194222.193546-11-sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org>
2018-11-13  1:32       ` Jeykumar Sankaran
2018-11-12 19:42   ` [PATCH 12/12] drm/msm: dpu: Move crtc runtime resume to encoder Sean Paul
     [not found]     ` <20181112194222.193546-13-sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org>
2018-11-13  1:47       ` Jeykumar Sankaran
     [not found]         ` <883389e20cc26db9071884be7b0802e7-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-11-13 15:22           ` Sean Paul
2018-11-13 15:55   ` [PATCH v2 13/12] drm/msm: dpu: Don't drop locks in crtc_vblank_enable Sean Paul
2018-11-12 19:42 ` [PATCH 04/12] drm/msm: dpu: Don't use power_event for vbif_init_memtypes Sean Paul
     [not found]   ` <20181112194222.193546-5-sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org>
2018-11-13  1:01     ` Jeykumar Sankaran
     [not found]       ` <488b7be307ca7f5db3b7c22c62a79e89-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-11-13 15:24         ` [PATCH v2 " Sean Paul
2018-11-13  1:06     ` [PATCH " Jeykumar Sankaran
2018-11-13  1:31       ` Jeykumar Sankaran
2018-11-12 19:42 ` [PATCH 05/12] drm/msm: dpu: Handle crtc pm_runtime_resume() directly Sean Paul
2018-11-13  1:20   ` Jeykumar Sankaran
     [not found]     ` <9d648caa250f75a9870e77de283b2927-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-11-13 15:16       ` Sean Paul
2018-11-12 19:42 ` [PATCH 06/12] drm/msm: dpu: Remove power_handle from core_perf Sean Paul
     [not found]   ` <20181112194222.193546-7-sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org>
2018-11-13  1:25     ` Jeykumar Sankaran
2018-11-12 19:42 ` [PATCH 08/12] drm/msm: dpu: Move DPU_POWER_HANDLE_DBUS_ID to core_perf Sean Paul
2018-11-13  1:27   ` Jeykumar Sankaran
2018-11-12 19:42 ` [PATCH 09/12] drm/msm: dpu: Remove dpu_power_handle Sean Paul
     [not found]   ` <20181112194222.193546-10-sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org>
2018-11-13  1:30     ` Jeykumar Sankaran [this message]
2018-11-12 19:42 ` [PATCH 11/12] drm/msm: dpu: Add ->enabled to dpu_encoder_virt Sean Paul
     [not found]   ` <20181112194222.193546-12-sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org>
2018-11-13  1:43     ` Jeykumar Sankaran
     [not found]       ` <848efa69c74b25ee0845e02dc4d19d61-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-11-13 15:19         ` Sean Paul

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=dbd7c81e1f4dd1712d61c1b0982196a6@codeaurora.org \
    --to=jsanka-sgv2jx0feol9jmxxk+q4oq@public.gmane.org \
    --cc=abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org \
    --cc=seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.