Re: [PATCH] coccicheck: improve pattern for getting relative path

2017-09-22 Thread Cihangir Akturk
On Thu, Aug 10, 2017 at 09:08:31PM +0200, Julia Lawall wrote:
> 
> 
> On Thu, 10 Aug 2017, Cihangir Akturk wrote:
> 
> > When invoked with V=1, coccicheck script prints the information about
> > which semantic patch (*.cocci file) used for this operation.  Actually,
> > it prints out the relative path of the related semantic patch. The
> > script uses sed to remove the source tree part from cocci file path like
> > so:
> >
> > FILE=`echo $COCCI | sed "s|$srctree/||"`
> >
> > This pattern works well most of the time. But in cases where $COCCI
> > doesn't start with "./" characters, it doesn't remove the right part.
> >
> > Consider the following scenario:
> >
> > $ make coccicheck COCCI=scripts/coccinelle/api/drm-get-put.cocci \
> > MODE=patch M=drivers/staging V=1
> >
> > where
> >
> > COCCI=scripts/coccinelle/api/drm-get-put.cocci and srctree=.
> >
> > In this case, out pattern matches the first "s/", and we end up
> > assigning "scriptcoccinelle/api/drm-get-put.cocci" to $FILE.
> >
> > Fix this by adding a caret ^ at the beginning of regex pattern, so that
> > it matches only start of the path.
> 
> Nicolas, is this ok?

Any comments on this patch? No one has commented yet. But I still get
the same results on current linux-next.

> 
> julia
> 
> >
> > Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
> > ---
> >  scripts/coccicheck | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/scripts/coccicheck b/scripts/coccicheck
> > index ec487b8..8de4245 100755
> > --- a/scripts/coccicheck
> > +++ b/scripts/coccicheck
> > @@ -193,7 +193,7 @@ coccinelle () {
> >
> >  if [ $VERBOSE -ne 0 -a $ONLINE -eq 0 ] ; then
> >
> > -   FILE=`echo $COCCI | sed "s|$srctree/||"`
> > +   FILE=`echo $COCCI | sed "s|^$srctree/||"`
> >
> > echo "Processing `basename $COCCI`"
> > echo "with option(s) \"$OPT\""
> > --
> > 2.7.4
> >
> >


Re: [PATCH] coccicheck: improve pattern for getting relative path

2017-09-22 Thread Cihangir Akturk
On Thu, Aug 10, 2017 at 09:08:31PM +0200, Julia Lawall wrote:
> 
> 
> On Thu, 10 Aug 2017, Cihangir Akturk wrote:
> 
> > When invoked with V=1, coccicheck script prints the information about
> > which semantic patch (*.cocci file) used for this operation.  Actually,
> > it prints out the relative path of the related semantic patch. The
> > script uses sed to remove the source tree part from cocci file path like
> > so:
> >
> > FILE=`echo $COCCI | sed "s|$srctree/||"`
> >
> > This pattern works well most of the time. But in cases where $COCCI
> > doesn't start with "./" characters, it doesn't remove the right part.
> >
> > Consider the following scenario:
> >
> > $ make coccicheck COCCI=scripts/coccinelle/api/drm-get-put.cocci \
> > MODE=patch M=drivers/staging V=1
> >
> > where
> >
> > COCCI=scripts/coccinelle/api/drm-get-put.cocci and srctree=.
> >
> > In this case, out pattern matches the first "s/", and we end up
> > assigning "scriptcoccinelle/api/drm-get-put.cocci" to $FILE.
> >
> > Fix this by adding a caret ^ at the beginning of regex pattern, so that
> > it matches only start of the path.
> 
> Nicolas, is this ok?

Any comments on this patch? No one has commented yet. But I still get
the same results on current linux-next.

> 
> julia
> 
> >
> > Signed-off-by: Cihangir Akturk 
> > ---
> >  scripts/coccicheck | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/scripts/coccicheck b/scripts/coccicheck
> > index ec487b8..8de4245 100755
> > --- a/scripts/coccicheck
> > +++ b/scripts/coccicheck
> > @@ -193,7 +193,7 @@ coccinelle () {
> >
> >  if [ $VERBOSE -ne 0 -a $ONLINE -eq 0 ] ; then
> >
> > -   FILE=`echo $COCCI | sed "s|$srctree/||"`
> > +   FILE=`echo $COCCI | sed "s|^$srctree/||"`
> >
> > echo "Processing `basename $COCCI`"
> > echo "with option(s) \"$OPT\""
> > --
> > 2.7.4
> >
> >


Re: [PATCH] staging: lustre: avoid going through unlock/lock overhead

2017-09-07 Thread Cihangir Akturk
On Thu, Sep 07, 2017 at 02:33:49PM +0200, Greg KH wrote:
> On Thu, Sep 07, 2017 at 01:57:42PM +0300, Cihangir Akturk wrote:
> > Unlocking a spin lock and then immediately locking without doing
> > anything useful in between buys us nothing, except wasting CPU cycles.
> 
> Not always, it can be a "gate" for other users of the lock.

OK, I get it.


> Are you sure that is not what is going on here?

No, I'm not sure. But yes, that's possible it might be used to let in
other users of the lock.

> Did you test this out on a lustre system?  The locks here are
> anything but trivial...

Unfortunately I haven't tested this change on a lustre system. Just
compile-tested.

> > 
> > Also code size gets smaller.
> > 
> > Before:
> > 
> >  text  data   bssdechex filename
> > 70415  2356  4108  76879  12c4f 
> > drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.o
> > 
> > After:
> > 
> >  text  data   bssdechex filename
> > 70095  2356  4108  76559  12b0f 
> > drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.o
> > 
> > Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
> > ---
> >  drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c | 18 --
> >  1 file changed, 8 insertions(+), 10 deletions(-)
> > 
> > diff --git a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c 
> > b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c
> > index 64763aa..5d9cd33 100644
> > --- a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c
> > +++ b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c
> > @@ -1624,8 +1624,9 @@ int kiblnd_fmr_pool_map(struct kib_fmr_poolset *fps, 
> > struct kib_tx *tx,
> > __u64 version;
> > int rc;
> >  
> > - again:
> > +again:
> > spin_lock(>fps_lock);
> > +again_locked:
> > version = fps->fps_version;
> > list_for_each_entry(fpo, >fps_pool_list, fpo_list) {
> > fpo->fpo_deadline = cfs_time_shift(IBLND_POOL_DEADLINE);
> > @@ -1722,10 +1723,8 @@ int kiblnd_fmr_pool_map(struct kib_fmr_poolset *fps, 
> > struct kib_tx *tx,
> > }
> >  
> > /* EAGAIN and ... */
> > -   if (version != fps->fps_version) {
> > -   spin_unlock(>fps_lock);
> > -   goto again;
> > -   }
> > +   if (version != fps->fps_version)
> > +   goto again_locked;
> > }
> >  
> > if (fps->fps_increasing) {
> > @@ -1754,9 +1753,8 @@ int kiblnd_fmr_pool_map(struct kib_fmr_poolset *fps, 
> > struct kib_tx *tx,
> > } else {
> > fps->fps_next_retry = cfs_time_shift(IBLND_POOL_RETRY);
> > }
> > -   spin_unlock(>fps_lock);
> >  
> > -   goto again;
> > +   goto again_locked;
> 
> Really, gotos backwards?  Ick, that's horrid as well, so maybe this is
> better?  I hate this whole codebase...
> 
> I'll let the Lustre maintainers decide about this one...
> 
> greg k-h


Re: [PATCH] staging: lustre: avoid going through unlock/lock overhead

2017-09-07 Thread Cihangir Akturk
On Thu, Sep 07, 2017 at 02:33:49PM +0200, Greg KH wrote:
> On Thu, Sep 07, 2017 at 01:57:42PM +0300, Cihangir Akturk wrote:
> > Unlocking a spin lock and then immediately locking without doing
> > anything useful in between buys us nothing, except wasting CPU cycles.
> 
> Not always, it can be a "gate" for other users of the lock.

OK, I get it.


> Are you sure that is not what is going on here?

No, I'm not sure. But yes, that's possible it might be used to let in
other users of the lock.

> Did you test this out on a lustre system?  The locks here are
> anything but trivial...

Unfortunately I haven't tested this change on a lustre system. Just
compile-tested.

> > 
> > Also code size gets smaller.
> > 
> > Before:
> > 
> >  text  data   bssdechex filename
> > 70415  2356  4108  76879  12c4f 
> > drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.o
> > 
> > After:
> > 
> >  text  data   bssdechex filename
> > 70095  2356  4108  76559  12b0f 
> > drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.o
> > 
> > Signed-off-by: Cihangir Akturk 
> > ---
> >  drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c | 18 --
> >  1 file changed, 8 insertions(+), 10 deletions(-)
> > 
> > diff --git a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c 
> > b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c
> > index 64763aa..5d9cd33 100644
> > --- a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c
> > +++ b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c
> > @@ -1624,8 +1624,9 @@ int kiblnd_fmr_pool_map(struct kib_fmr_poolset *fps, 
> > struct kib_tx *tx,
> > __u64 version;
> > int rc;
> >  
> > - again:
> > +again:
> > spin_lock(>fps_lock);
> > +again_locked:
> > version = fps->fps_version;
> > list_for_each_entry(fpo, >fps_pool_list, fpo_list) {
> > fpo->fpo_deadline = cfs_time_shift(IBLND_POOL_DEADLINE);
> > @@ -1722,10 +1723,8 @@ int kiblnd_fmr_pool_map(struct kib_fmr_poolset *fps, 
> > struct kib_tx *tx,
> > }
> >  
> > /* EAGAIN and ... */
> > -   if (version != fps->fps_version) {
> > -   spin_unlock(>fps_lock);
> > -   goto again;
> > -   }
> > +   if (version != fps->fps_version)
> > +   goto again_locked;
> > }
> >  
> > if (fps->fps_increasing) {
> > @@ -1754,9 +1753,8 @@ int kiblnd_fmr_pool_map(struct kib_fmr_poolset *fps, 
> > struct kib_tx *tx,
> > } else {
> > fps->fps_next_retry = cfs_time_shift(IBLND_POOL_RETRY);
> > }
> > -   spin_unlock(>fps_lock);
> >  
> > -   goto again;
> > +   goto again_locked;
> 
> Really, gotos backwards?  Ick, that's horrid as well, so maybe this is
> better?  I hate this whole codebase...
> 
> I'll let the Lustre maintainers decide about this one...
> 
> greg k-h


[PATCH] staging: lustre: avoid going through unlock/lock overhead

2017-09-07 Thread Cihangir Akturk
Unlocking a spin lock and then immediately locking without doing
anything useful in between buys us nothing, except wasting CPU cycles.

Also code size gets smaller.

Before:

 text  data   bssdechex filename
70415  2356  4108  76879  12c4f 
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.o

After:

 text  data   bssdechex filename
70095  2356  4108  76559  12b0f 
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.o

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c | 18 --
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c 
b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c
index 64763aa..5d9cd33 100644
--- a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c
+++ b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c
@@ -1624,8 +1624,9 @@ int kiblnd_fmr_pool_map(struct kib_fmr_poolset *fps, 
struct kib_tx *tx,
__u64 version;
int rc;
 
- again:
+again:
spin_lock(>fps_lock);
+again_locked:
version = fps->fps_version;
list_for_each_entry(fpo, >fps_pool_list, fpo_list) {
fpo->fpo_deadline = cfs_time_shift(IBLND_POOL_DEADLINE);
@@ -1722,10 +1723,8 @@ int kiblnd_fmr_pool_map(struct kib_fmr_poolset *fps, 
struct kib_tx *tx,
}
 
/* EAGAIN and ... */
-   if (version != fps->fps_version) {
-   spin_unlock(>fps_lock);
-   goto again;
-   }
+   if (version != fps->fps_version)
+   goto again_locked;
}
 
if (fps->fps_increasing) {
@@ -1754,9 +1753,8 @@ int kiblnd_fmr_pool_map(struct kib_fmr_poolset *fps, 
struct kib_tx *tx,
} else {
fps->fps_next_retry = cfs_time_shift(IBLND_POOL_RETRY);
}
-   spin_unlock(>fps_lock);
 
-   goto again;
+   goto again_locked;
 }
 
 static void kiblnd_fini_pool(struct kib_pool *pool)
@@ -1901,8 +1899,9 @@ struct list_head *kiblnd_pool_alloc_node(struct 
kib_poolset *ps)
unsigned int trips = 0;
int rc;
 
- again:
+again:
spin_lock(>ps_lock);
+again_locked:
list_for_each_entry(pool, >ps_pool_list, po_list) {
if (list_empty(>po_free_list))
continue;
@@ -1960,9 +1959,8 @@ struct list_head *kiblnd_pool_alloc_node(struct 
kib_poolset *ps)
CERROR("Can't allocate new %s pool because out of memory\n",
   ps->ps_name);
}
-   spin_unlock(>ps_lock);
 
-   goto again;
+   goto again_locked;
 }
 
 static void kiblnd_destroy_tx_pool(struct kib_pool *pool)
-- 
2.7.4



[PATCH] staging: lustre: avoid going through unlock/lock overhead

2017-09-07 Thread Cihangir Akturk
Unlocking a spin lock and then immediately locking without doing
anything useful in between buys us nothing, except wasting CPU cycles.

Also code size gets smaller.

Before:

 text  data   bssdechex filename
70415  2356  4108  76879  12c4f 
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.o

After:

 text  data   bssdechex filename
70095  2356  4108  76559  12b0f 
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.o

Signed-off-by: Cihangir Akturk 
---
 drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c | 18 --
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c 
b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c
index 64763aa..5d9cd33 100644
--- a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c
+++ b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c
@@ -1624,8 +1624,9 @@ int kiblnd_fmr_pool_map(struct kib_fmr_poolset *fps, 
struct kib_tx *tx,
__u64 version;
int rc;
 
- again:
+again:
spin_lock(>fps_lock);
+again_locked:
version = fps->fps_version;
list_for_each_entry(fpo, >fps_pool_list, fpo_list) {
fpo->fpo_deadline = cfs_time_shift(IBLND_POOL_DEADLINE);
@@ -1722,10 +1723,8 @@ int kiblnd_fmr_pool_map(struct kib_fmr_poolset *fps, 
struct kib_tx *tx,
}
 
/* EAGAIN and ... */
-   if (version != fps->fps_version) {
-   spin_unlock(>fps_lock);
-   goto again;
-   }
+   if (version != fps->fps_version)
+   goto again_locked;
}
 
if (fps->fps_increasing) {
@@ -1754,9 +1753,8 @@ int kiblnd_fmr_pool_map(struct kib_fmr_poolset *fps, 
struct kib_tx *tx,
} else {
fps->fps_next_retry = cfs_time_shift(IBLND_POOL_RETRY);
}
-   spin_unlock(>fps_lock);
 
-   goto again;
+   goto again_locked;
 }
 
 static void kiblnd_fini_pool(struct kib_pool *pool)
@@ -1901,8 +1899,9 @@ struct list_head *kiblnd_pool_alloc_node(struct 
kib_poolset *ps)
unsigned int trips = 0;
int rc;
 
- again:
+again:
spin_lock(>ps_lock);
+again_locked:
list_for_each_entry(pool, >ps_pool_list, po_list) {
if (list_empty(>po_free_list))
continue;
@@ -1960,9 +1959,8 @@ struct list_head *kiblnd_pool_alloc_node(struct 
kib_poolset *ps)
CERROR("Can't allocate new %s pool because out of memory\n",
   ps->ps_name);
}
-   spin_unlock(>ps_lock);
 
-   goto again;
+   goto again_locked;
 }
 
 static void kiblnd_destroy_tx_pool(struct kib_pool *pool)
-- 
2.7.4



[PATCH] staging: pi433: fix interrupt handler signatures

2017-08-25 Thread Cihangir Akturk
Remove "struct pt_regs *" parameter from interrupt handlers, since
it is no longer passed to interrupt handlers. Also, convert return
types to irqreturn_t.

Additionally, move DIO_irq_handler variable into the setup_GPIO
function, as it's not used outside of this function.

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/staging/pi433/pi433_if.c | 19 ---
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/drivers/staging/pi433/pi433_if.c b/drivers/staging/pi433/pi433_if.c
index 87053e77..93c0168 100644
--- a/drivers/staging/pi433/pi433_if.c
+++ b/drivers/staging/pi433/pi433_if.c
@@ -129,8 +129,7 @@ struct pi433_instance {
 /*-*/
 
 /* GPIO interrupt handlers */
-static irq_handler_t
-DIO0_irq_handler(unsigned int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t DIO0_irq_handler(int irq, void *dev_id)
 {
struct pi433_device *device = dev_id;
 
@@ -152,11 +151,10 @@ DIO0_irq_handler(unsigned int irq, void *dev_id, struct 
pt_regs *regs)
wake_up_interruptible(>fifo_wait_queue);
}
 
-   return (irq_handler_t) IRQ_HANDLED;
+   return IRQ_HANDLED;
 }
 
-static irq_handler_t
-DIO1_irq_handler(unsigned int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t DIO1_irq_handler(int irq, void *dev_id)
 {
struct pi433_device *device = dev_id;
 
@@ -172,14 +170,9 @@ DIO1_irq_handler(unsigned int irq, void *dev_id, struct 
pt_regs *regs)
printk("DIO1 irq: %d bytes free in fifo\n", device->free_in_fifo); // 
TODO: printk() should include KERN_ facility level
wake_up_interruptible(>fifo_wait_queue);
 
-   return (irq_handler_t) IRQ_HANDLED;
+   return IRQ_HANDLED;
 }
 
-static void *DIO_irq_handler[NUM_DIO] = {
-   DIO0_irq_handler,
-   DIO1_irq_handler
-};
-
 /*-*/
 
 static int
@@ -982,6 +975,10 @@ static int setup_GPIOs(struct pi433_device *device)
charname[5];
int retval;
int i;
+   const irq_handler_t DIO_irq_handler[NUM_DIO] = {
+   DIO0_irq_handler,
+   DIO1_irq_handler
+   };
 
for (i=0; i<NUM_DIO; i++)
{
-- 
2.7.4



[PATCH] staging: pi433: fix interrupt handler signatures

2017-08-25 Thread Cihangir Akturk
Remove "struct pt_regs *" parameter from interrupt handlers, since
it is no longer passed to interrupt handlers. Also, convert return
types to irqreturn_t.

Additionally, move DIO_irq_handler variable into the setup_GPIO
function, as it's not used outside of this function.

Signed-off-by: Cihangir Akturk 
---
 drivers/staging/pi433/pi433_if.c | 19 ---
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/drivers/staging/pi433/pi433_if.c b/drivers/staging/pi433/pi433_if.c
index 87053e77..93c0168 100644
--- a/drivers/staging/pi433/pi433_if.c
+++ b/drivers/staging/pi433/pi433_if.c
@@ -129,8 +129,7 @@ struct pi433_instance {
 /*-*/
 
 /* GPIO interrupt handlers */
-static irq_handler_t
-DIO0_irq_handler(unsigned int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t DIO0_irq_handler(int irq, void *dev_id)
 {
struct pi433_device *device = dev_id;
 
@@ -152,11 +151,10 @@ DIO0_irq_handler(unsigned int irq, void *dev_id, struct 
pt_regs *regs)
wake_up_interruptible(>fifo_wait_queue);
}
 
-   return (irq_handler_t) IRQ_HANDLED;
+   return IRQ_HANDLED;
 }
 
-static irq_handler_t
-DIO1_irq_handler(unsigned int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t DIO1_irq_handler(int irq, void *dev_id)
 {
struct pi433_device *device = dev_id;
 
@@ -172,14 +170,9 @@ DIO1_irq_handler(unsigned int irq, void *dev_id, struct 
pt_regs *regs)
printk("DIO1 irq: %d bytes free in fifo\n", device->free_in_fifo); // 
TODO: printk() should include KERN_ facility level
wake_up_interruptible(>fifo_wait_queue);
 
-   return (irq_handler_t) IRQ_HANDLED;
+   return IRQ_HANDLED;
 }
 
-static void *DIO_irq_handler[NUM_DIO] = {
-   DIO0_irq_handler,
-   DIO1_irq_handler
-};
-
 /*-*/
 
 static int
@@ -982,6 +975,10 @@ static int setup_GPIOs(struct pi433_device *device)
charname[5];
int retval;
int i;
+   const irq_handler_t DIO_irq_handler[NUM_DIO] = {
+   DIO0_irq_handler,
+   DIO1_irq_handler
+   };
 
for (i=0; i

Re: [PATCH] staging: lustre: fix structure size for ARM OABI

2017-08-21 Thread Cihangir Akturk
On Sun, Aug 20, 2017 at 03:52:26AM +0100, James Simmons wrote:
> 
> > On Aug 17, 2017, at 10:26, Greg KH <gre...@linuxfoundation.org> wrote:
> > > 
> > > On Wed, Aug 16, 2017 at 05:44:15PM +0300, Cihangir Akturk wrote:
> > >> When building the kernel for the ARM architecture without setting
> > >> CONFIG_AEABI, size of struct lov_user_md_v3 and struct lov_mds_md_v3
> > >> differs, due to different alignment requirements of OABI and EABI.
> 
> I have to ask are you testing the lustre on ARM?

No, I was just compiling the kernel for ARM architecture, and I hit
this issue. If it's possible, I can give it a try with a bunch of
raspberry pis or another cheap board?

>  
> > >> Marking the anonymous union within struct lov_user_md_v3 as
> > >> '_packed' solves this issue. Otherwise we get the following
> > >> error:
> > >> 
> > >> drivers/staging/lustre/lustre/lov/lov_pack.c:352:2: note: in expansion
> > >> of macro ‘BUILD_BUG_ON’
> > >>  BUILD_BUG_ON(sizeof(lum) != sizeof(struct lov_mds_md_v3));
> > >> 
> > >> Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
> > >> ---
> > >> drivers/staging/lustre/lustre/include/lustre/lustre_user.h | 2 +-
> > >> 1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > This file is no longer in the tree :(
> > 
> > With James' recent patch series, this has moved to 
> > include/uapi/linux/lustre/lustre_user.h
> 
> BTW is __packed valid for UAPI headers?



Re: [PATCH] staging: lustre: fix structure size for ARM OABI

2017-08-21 Thread Cihangir Akturk
On Sun, Aug 20, 2017 at 03:52:26AM +0100, James Simmons wrote:
> 
> > On Aug 17, 2017, at 10:26, Greg KH  wrote:
> > > 
> > > On Wed, Aug 16, 2017 at 05:44:15PM +0300, Cihangir Akturk wrote:
> > >> When building the kernel for the ARM architecture without setting
> > >> CONFIG_AEABI, size of struct lov_user_md_v3 and struct lov_mds_md_v3
> > >> differs, due to different alignment requirements of OABI and EABI.
> 
> I have to ask are you testing the lustre on ARM?

No, I was just compiling the kernel for ARM architecture, and I hit
this issue. If it's possible, I can give it a try with a bunch of
raspberry pis or another cheap board?

>  
> > >> Marking the anonymous union within struct lov_user_md_v3 as
> > >> '_packed' solves this issue. Otherwise we get the following
> > >> error:
> > >> 
> > >> drivers/staging/lustre/lustre/lov/lov_pack.c:352:2: note: in expansion
> > >> of macro ‘BUILD_BUG_ON’
> > >>  BUILD_BUG_ON(sizeof(lum) != sizeof(struct lov_mds_md_v3));
> > >> 
> > >> Signed-off-by: Cihangir Akturk 
> > >> ---
> > >> drivers/staging/lustre/lustre/include/lustre/lustre_user.h | 2 +-
> > >> 1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > This file is no longer in the tree :(
> > 
> > With James' recent patch series, this has moved to 
> > include/uapi/linux/lustre/lustre_user.h
> 
> BTW is __packed valid for UAPI headers?



[PATCH] staging: lustre: fix structure size for ARM OABI

2017-08-16 Thread Cihangir Akturk
When building the kernel for the ARM architecture without setting
CONFIG_AEABI, size of struct lov_user_md_v3 and struct lov_mds_md_v3
differs, due to different alignment requirements of OABI and EABI.

Marking the anonymous union within struct lov_user_md_v3 as
'_packed' solves this issue. Otherwise we get the following
error:

drivers/staging/lustre/lustre/lov/lov_pack.c:352:2: note: in expansion
of macro ‘BUILD_BUG_ON’
  BUILD_BUG_ON(sizeof(lum) != sizeof(struct lov_mds_md_v3));

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/staging/lustre/lustre/include/lustre/lustre_user.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/lustre/lustre/include/lustre/lustre_user.h 
b/drivers/staging/lustre/lustre/include/lustre/lustre_user.h
index edff8dc..4f72cb6 100644
--- a/drivers/staging/lustre/lustre/include/lustre/lustre_user.h
+++ b/drivers/staging/lustre/lustre/include/lustre/lustre_user.h
@@ -388,7 +388,7 @@ struct lov_user_md_v3 {/* LOV EA user data 
(host-endian) */
__u16 lmm_layout_gen; /* layout generation number
   * used when reading
   */
-   };
+   } __packed;
char  lmm_pool_name[LOV_MAXPOOLNAME + 1];   /* pool name */
struct lov_user_ost_data_v1 lmm_objects[0]; /* per-stripe data */
 } __packed;
-- 
2.7.4



[PATCH] staging: lustre: fix structure size for ARM OABI

2017-08-16 Thread Cihangir Akturk
When building the kernel for the ARM architecture without setting
CONFIG_AEABI, size of struct lov_user_md_v3 and struct lov_mds_md_v3
differs, due to different alignment requirements of OABI and EABI.

Marking the anonymous union within struct lov_user_md_v3 as
'_packed' solves this issue. Otherwise we get the following
error:

drivers/staging/lustre/lustre/lov/lov_pack.c:352:2: note: in expansion
of macro ‘BUILD_BUG_ON’
  BUILD_BUG_ON(sizeof(lum) != sizeof(struct lov_mds_md_v3));

Signed-off-by: Cihangir Akturk 
---
 drivers/staging/lustre/lustre/include/lustre/lustre_user.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/lustre/lustre/include/lustre/lustre_user.h 
b/drivers/staging/lustre/lustre/include/lustre/lustre_user.h
index edff8dc..4f72cb6 100644
--- a/drivers/staging/lustre/lustre/include/lustre/lustre_user.h
+++ b/drivers/staging/lustre/lustre/include/lustre/lustre_user.h
@@ -388,7 +388,7 @@ struct lov_user_md_v3 {/* LOV EA user data 
(host-endian) */
__u16 lmm_layout_gen; /* layout generation number
   * used when reading
   */
-   };
+   } __packed;
char  lmm_pool_name[LOV_MAXPOOLNAME + 1];   /* pool name */
struct lov_user_ost_data_v1 lmm_objects[0]; /* per-stripe data */
 } __packed;
-- 
2.7.4



Re: [PATCH] [media] media: imx: depends on V4L2 sub-device userspace API

2017-08-14 Thread Cihangir Akturk
On Mon, Aug 14, 2017 at 10:57:46AM -0700, Steve Longerbeam wrote:
> Hi Akturk, this has already been fixed, see

Sorry. Apparently, I missed to update my tree, somehow.

> 
> 4560cb4a0c ("media: imx: add VIDEO_V4L2_SUBDEV_API dependency").
> 
> Steve
> 
> On 08/14/2017 04:00 AM, Cihangir Akturk wrote:
> > This driver uses various v4l2_subdev_get_try_*() functions provided by
> > V4L2 sub-device userspace API. Current configuration of Kconfig file
> > allows us to enable VIDEO_IMX_MEDIA without enabling this API. This
> > breaks the build of driver.
> > 
> > Depend on VIDEO_V4L2_SUBDEV_API to fix this issue.
> > 
> > Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
> > ---
> >   drivers/staging/media/imx/Kconfig | 3 ++-
> >   1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/staging/media/imx/Kconfig 
> > b/drivers/staging/media/imx/Kconfig
> > index 7eff50b..d8c3890 100644
> > --- a/drivers/staging/media/imx/Kconfig
> > +++ b/drivers/staging/media/imx/Kconfig
> > @@ -1,6 +1,7 @@
> >   config VIDEO_IMX_MEDIA
> > tristate "i.MX5/6 V4L2 media core driver"
> > -   depends on MEDIA_CONTROLLER && VIDEO_V4L2 && ARCH_MXC && IMX_IPUV3_CORE
> > +   depends on MEDIA_CONTROLLER && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && \
> > +   ARCH_MXC && IMX_IPUV3_CORE
> > select V4L2_FWNODE
> > ---help---
> >   Say yes here to enable support for video4linux media controller
> 


Re: [PATCH] [media] media: imx: depends on V4L2 sub-device userspace API

2017-08-14 Thread Cihangir Akturk
On Mon, Aug 14, 2017 at 10:57:46AM -0700, Steve Longerbeam wrote:
> Hi Akturk, this has already been fixed, see

Sorry. Apparently, I missed to update my tree, somehow.

> 
> 4560cb4a0c ("media: imx: add VIDEO_V4L2_SUBDEV_API dependency").
> 
> Steve
> 
> On 08/14/2017 04:00 AM, Cihangir Akturk wrote:
> > This driver uses various v4l2_subdev_get_try_*() functions provided by
> > V4L2 sub-device userspace API. Current configuration of Kconfig file
> > allows us to enable VIDEO_IMX_MEDIA without enabling this API. This
> > breaks the build of driver.
> > 
> > Depend on VIDEO_V4L2_SUBDEV_API to fix this issue.
> > 
> > Signed-off-by: Cihangir Akturk 
> > ---
> >   drivers/staging/media/imx/Kconfig | 3 ++-
> >   1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/staging/media/imx/Kconfig 
> > b/drivers/staging/media/imx/Kconfig
> > index 7eff50b..d8c3890 100644
> > --- a/drivers/staging/media/imx/Kconfig
> > +++ b/drivers/staging/media/imx/Kconfig
> > @@ -1,6 +1,7 @@
> >   config VIDEO_IMX_MEDIA
> > tristate "i.MX5/6 V4L2 media core driver"
> > -   depends on MEDIA_CONTROLLER && VIDEO_V4L2 && ARCH_MXC && IMX_IPUV3_CORE
> > +   depends on MEDIA_CONTROLLER && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && \
> > +   ARCH_MXC && IMX_IPUV3_CORE
> > select V4L2_FWNODE
> > ---help---
> >   Say yes here to enable support for video4linux media controller
> 


Re: [PATCH v3 24/28] drm/vc4: switch to drm_*_get(), drm_*_put() helpers

2017-08-14 Thread Cihangir Akturk
On Mon, Aug 14, 2017 at 12:47:01PM -0700, Eric Anholt wrote:
> Cihangir Akturk <cakt...@gmail.com> writes:
> 
> > Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
> > and drm_*_unreference() helpers.
> >
> > drm_*_reference() and drm_*_unreference() functions are just
> > compatibility alias for drm_*_get() and drm_*_put() and should not be
> > used by new code. So convert all users of compatibility functions to
> > use the new APIs.
> 
> Mind if I change the subject line to "drm/vc4: Continue the switch to
> drm_*_put() helpers"? to distinguish from the patch that already landed?

It's OK with me. Go ahead, change to whatever you want.

> 
> (Looks like your previous patch was generated before my BO labeling code
> landed, so we got another little patch here cleaning up the new code as
> well)

Thanks, Cihangir.


Re: [PATCH v3 24/28] drm/vc4: switch to drm_*_get(), drm_*_put() helpers

2017-08-14 Thread Cihangir Akturk
On Mon, Aug 14, 2017 at 12:47:01PM -0700, Eric Anholt wrote:
> Cihangir Akturk  writes:
> 
> > Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
> > and drm_*_unreference() helpers.
> >
> > drm_*_reference() and drm_*_unreference() functions are just
> > compatibility alias for drm_*_get() and drm_*_put() and should not be
> > used by new code. So convert all users of compatibility functions to
> > use the new APIs.
> 
> Mind if I change the subject line to "drm/vc4: Continue the switch to
> drm_*_put() helpers"? to distinguish from the patch that already landed?

It's OK with me. Go ahead, change to whatever you want.

> 
> (Looks like your previous patch was generated before my BO labeling code
> landed, so we got another little patch here cleaning up the new code as
> well)

Thanks, Cihangir.


[PATCH] [media] media: imx: depends on V4L2 sub-device userspace API

2017-08-14 Thread Cihangir Akturk
This driver uses various v4l2_subdev_get_try_*() functions provided by
V4L2 sub-device userspace API. Current configuration of Kconfig file
allows us to enable VIDEO_IMX_MEDIA without enabling this API. This
breaks the build of driver.

Depend on VIDEO_V4L2_SUBDEV_API to fix this issue.

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/staging/media/imx/Kconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/media/imx/Kconfig 
b/drivers/staging/media/imx/Kconfig
index 7eff50b..d8c3890 100644
--- a/drivers/staging/media/imx/Kconfig
+++ b/drivers/staging/media/imx/Kconfig
@@ -1,6 +1,7 @@
 config VIDEO_IMX_MEDIA
tristate "i.MX5/6 V4L2 media core driver"
-   depends on MEDIA_CONTROLLER && VIDEO_V4L2 && ARCH_MXC && IMX_IPUV3_CORE
+   depends on MEDIA_CONTROLLER && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && \
+   ARCH_MXC && IMX_IPUV3_CORE
select V4L2_FWNODE
---help---
  Say yes here to enable support for video4linux media controller
-- 
2.7.4



[PATCH] [media] media: imx: depends on V4L2 sub-device userspace API

2017-08-14 Thread Cihangir Akturk
This driver uses various v4l2_subdev_get_try_*() functions provided by
V4L2 sub-device userspace API. Current configuration of Kconfig file
allows us to enable VIDEO_IMX_MEDIA without enabling this API. This
breaks the build of driver.

Depend on VIDEO_V4L2_SUBDEV_API to fix this issue.

Signed-off-by: Cihangir Akturk 
---
 drivers/staging/media/imx/Kconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/media/imx/Kconfig 
b/drivers/staging/media/imx/Kconfig
index 7eff50b..d8c3890 100644
--- a/drivers/staging/media/imx/Kconfig
+++ b/drivers/staging/media/imx/Kconfig
@@ -1,6 +1,7 @@
 config VIDEO_IMX_MEDIA
tristate "i.MX5/6 V4L2 media core driver"
-   depends on MEDIA_CONTROLLER && VIDEO_V4L2 && ARCH_MXC && IMX_IPUV3_CORE
+   depends on MEDIA_CONTROLLER && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && \
+   ARCH_MXC && IMX_IPUV3_CORE
select V4L2_FWNODE
---help---
  Say yes here to enable support for video4linux media controller
-- 
2.7.4



[PATCH] [media] media: imx: use setup_timer

2017-08-13 Thread Cihangir Akturk
Use setup_timer function instead of initializing timer with the
function and data fields.

Generated by: scripts/coccinelle/api/setup_timer.cocci.

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/staging/media/imx/imx-ic-prpencvf.c | 5 ++---
 drivers/staging/media/imx/imx-media-csi.c   | 5 ++---
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/media/imx/imx-ic-prpencvf.c 
b/drivers/staging/media/imx/imx-ic-prpencvf.c
index ed363fe..65f5729 100644
--- a/drivers/staging/media/imx/imx-ic-prpencvf.c
+++ b/drivers/staging/media/imx/imx-ic-prpencvf.c
@@ -1278,9 +1278,8 @@ static int prp_init(struct imx_ic_priv *ic_priv)
priv->ic_priv = ic_priv;
 
spin_lock_init(>irqlock);
-   init_timer(>eof_timeout_timer);
-   priv->eof_timeout_timer.data = (unsigned long)priv;
-   priv->eof_timeout_timer.function = prp_eof_timeout;
+   setup_timer(>eof_timeout_timer, prp_eof_timeout,
+   (unsigned long)priv);
 
priv->vdev = imx_media_capture_device_init(_priv->sd,
   PRPENCVF_SRC_PAD);
diff --git a/drivers/staging/media/imx/imx-media-csi.c 
b/drivers/staging/media/imx/imx-media-csi.c
index a2d2669..8fef5f1 100644
--- a/drivers/staging/media/imx/imx-media-csi.c
+++ b/drivers/staging/media/imx/imx-media-csi.c
@@ -1731,9 +1731,8 @@ static int imx_csi_probe(struct platform_device *pdev)
priv->csi_id = pdata->csi;
priv->smfc_id = (priv->csi_id == 0) ? 0 : 2;
 
-   init_timer(>eof_timeout_timer);
-   priv->eof_timeout_timer.data = (unsigned long)priv;
-   priv->eof_timeout_timer.function = csi_idmac_eof_timeout;
+   setup_timer(>eof_timeout_timer, csi_idmac_eof_timeout,
+   (unsigned long)priv);
spin_lock_init(>irqlock);
 
v4l2_subdev_init(>sd, _subdev_ops);
-- 
2.7.4



[PATCH] [media] media: imx: use setup_timer

2017-08-13 Thread Cihangir Akturk
Use setup_timer function instead of initializing timer with the
function and data fields.

Generated by: scripts/coccinelle/api/setup_timer.cocci.

Signed-off-by: Cihangir Akturk 
---
 drivers/staging/media/imx/imx-ic-prpencvf.c | 5 ++---
 drivers/staging/media/imx/imx-media-csi.c   | 5 ++---
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/media/imx/imx-ic-prpencvf.c 
b/drivers/staging/media/imx/imx-ic-prpencvf.c
index ed363fe..65f5729 100644
--- a/drivers/staging/media/imx/imx-ic-prpencvf.c
+++ b/drivers/staging/media/imx/imx-ic-prpencvf.c
@@ -1278,9 +1278,8 @@ static int prp_init(struct imx_ic_priv *ic_priv)
priv->ic_priv = ic_priv;
 
spin_lock_init(>irqlock);
-   init_timer(>eof_timeout_timer);
-   priv->eof_timeout_timer.data = (unsigned long)priv;
-   priv->eof_timeout_timer.function = prp_eof_timeout;
+   setup_timer(>eof_timeout_timer, prp_eof_timeout,
+   (unsigned long)priv);
 
priv->vdev = imx_media_capture_device_init(_priv->sd,
   PRPENCVF_SRC_PAD);
diff --git a/drivers/staging/media/imx/imx-media-csi.c 
b/drivers/staging/media/imx/imx-media-csi.c
index a2d2669..8fef5f1 100644
--- a/drivers/staging/media/imx/imx-media-csi.c
+++ b/drivers/staging/media/imx/imx-media-csi.c
@@ -1731,9 +1731,8 @@ static int imx_csi_probe(struct platform_device *pdev)
priv->csi_id = pdata->csi;
priv->smfc_id = (priv->csi_id == 0) ? 0 : 2;
 
-   init_timer(>eof_timeout_timer);
-   priv->eof_timeout_timer.data = (unsigned long)priv;
-   priv->eof_timeout_timer.function = csi_idmac_eof_timeout;
+   setup_timer(>eof_timeout_timer, csi_idmac_eof_timeout,
+   (unsigned long)priv);
spin_lock_init(>irqlock);
 
v4l2_subdev_init(>sd, _subdev_ops);
-- 
2.7.4



[PATCH] drm/i915: switch to drm_*_get(), drm_*_put() helpers

2017-08-13 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---

This patch was generated against *drm-tip*.

If needed, I can re-generate the whole series against *drm-tip* and
resend.

 drivers/gpu/drm/i915/i915_gem_object.h |  4 ++--
 drivers/gpu/drm/i915/intel_display.c   | 14 +++---
 drivers/gpu/drm/i915/intel_dp_mst.c|  2 +-
 drivers/gpu/drm/i915/intel_fbdev.c |  4 ++--
 4 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_object.h 
b/drivers/gpu/drm/i915/i915_gem_object.h
index 5b19a49..95cfb64 100644
--- a/drivers/gpu/drm/i915/i915_gem_object.h
+++ b/drivers/gpu/drm/i915/i915_gem_object.h
@@ -257,7 +257,7 @@ __attribute__((nonnull))
 static inline struct drm_i915_gem_object *
 i915_gem_object_get(struct drm_i915_gem_object *obj)
 {
-   drm_gem_object_reference(>base);
+   drm_gem_object_get(>base);
return obj;
 }
 
@@ -268,7 +268,7 @@ __attribute__((nonnull))
 static inline void
 i915_gem_object_put(struct drm_i915_gem_object *obj)
 {
-   __drm_gem_object_unreference(>base);
+   __drm_gem_object_put(>base);
 }
 
 __deprecated
diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index beff138..f9142ff 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2832,7 +2832,7 @@ intel_find_initial_plane_obj(struct intel_crtc 
*intel_crtc,
 
if (intel_plane_ggtt_offset(state) == plane_config->base) {
fb = c->primary->fb;
-   drm_framebuffer_reference(fb);
+   drm_framebuffer_get(fb);
goto valid_fb;
}
}
@@ -2863,7 +2863,7 @@ intel_find_initial_plane_obj(struct intel_crtc 
*intel_crtc,
  intel_crtc->pipe, PTR_ERR(intel_state->vma));
 
intel_state->vma = NULL;
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
return;
}
 
@@ -2884,7 +2884,7 @@ intel_find_initial_plane_obj(struct intel_crtc 
*intel_crtc,
if (i915_gem_object_is_tiled(obj))
dev_priv->preserve_bios_swizzle = true;
 
-   drm_framebuffer_reference(fb);
+   drm_framebuffer_get(fb);
primary->fb = primary->state->fb = fb;
primary->crtc = primary->state->crtc = _crtc->base;
 
@@ -9811,7 +9811,7 @@ mode_fits_in_fbdev(struct drm_device *dev,
if (obj->base.size < mode->vdisplay * fb->pitches[0])
return NULL;
 
-   drm_framebuffer_reference(fb);
+   drm_framebuffer_get(fb);
return fb;
 #else
return NULL;
@@ -9992,7 +9992,7 @@ int intel_get_load_detect_pipe(struct drm_connector 
*connector,
if (ret)
goto fail;
 
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
 
ret = drm_atomic_set_mode_for_crtc(_state->base, mode);
if (ret)
@@ -10542,7 +10542,7 @@ static void 
intel_modeset_update_connector_atomic_state(struct drm_device *dev)
drm_connector_list_iter_begin(dev, _iter);
for_each_intel_connector_iter(connector, _iter) {
if (connector->base.state->crtc)
-   drm_connector_unreference(>base);
+   drm_connector_put(>base);
 
if (connector->base.encoder) {
connector->base.state->best_encoder =
@@ -10550,7 +10550,7 @@ static void 
intel_modeset_update_connector_atomic_state(struct drm_device *dev)
connector->base.state->crtc =
connector->base.encoder->crtc;
 
-   drm_connector_reference(>base);
+   drm_connector_get(>base);
} else {
connector->base.state->best_encoder = NULL;
connector->base.state->crtc = NULL;
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c 
b/drivers/gpu/drm/i915/intel_dp_mst.c
index 93fc8ab..2092ab1 100644
--- a/drivers/gpu/drm/i915/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/intel_dp_mst.c
@@ -504,7 +504,7 @@ static void intel_dp_destroy_mst_connector(struct 
drm_dp_mst_topology_mgr *mgr,
intel_connector->mst_port = NULL;
drm_modeset_unlock(>dev->mode_config.connection_mutex);
 
-   drm_connector_unreference(connector);
+   drm_connector_put(connector);
DRM_DEBUG_KMS("\n");
 }
 
diff --git a/driv

[PATCH] drm/i915: switch to drm_*_get(), drm_*_put() helpers

2017-08-13 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---

This patch was generated against *drm-tip*.

If needed, I can re-generate the whole series against *drm-tip* and
resend.

 drivers/gpu/drm/i915/i915_gem_object.h |  4 ++--
 drivers/gpu/drm/i915/intel_display.c   | 14 +++---
 drivers/gpu/drm/i915/intel_dp_mst.c|  2 +-
 drivers/gpu/drm/i915/intel_fbdev.c |  4 ++--
 4 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_object.h 
b/drivers/gpu/drm/i915/i915_gem_object.h
index 5b19a49..95cfb64 100644
--- a/drivers/gpu/drm/i915/i915_gem_object.h
+++ b/drivers/gpu/drm/i915/i915_gem_object.h
@@ -257,7 +257,7 @@ __attribute__((nonnull))
 static inline struct drm_i915_gem_object *
 i915_gem_object_get(struct drm_i915_gem_object *obj)
 {
-   drm_gem_object_reference(>base);
+   drm_gem_object_get(>base);
return obj;
 }
 
@@ -268,7 +268,7 @@ __attribute__((nonnull))
 static inline void
 i915_gem_object_put(struct drm_i915_gem_object *obj)
 {
-   __drm_gem_object_unreference(>base);
+   __drm_gem_object_put(>base);
 }
 
 __deprecated
diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index beff138..f9142ff 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2832,7 +2832,7 @@ intel_find_initial_plane_obj(struct intel_crtc 
*intel_crtc,
 
if (intel_plane_ggtt_offset(state) == plane_config->base) {
fb = c->primary->fb;
-   drm_framebuffer_reference(fb);
+   drm_framebuffer_get(fb);
goto valid_fb;
}
}
@@ -2863,7 +2863,7 @@ intel_find_initial_plane_obj(struct intel_crtc 
*intel_crtc,
  intel_crtc->pipe, PTR_ERR(intel_state->vma));
 
intel_state->vma = NULL;
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
return;
}
 
@@ -2884,7 +2884,7 @@ intel_find_initial_plane_obj(struct intel_crtc 
*intel_crtc,
if (i915_gem_object_is_tiled(obj))
dev_priv->preserve_bios_swizzle = true;
 
-   drm_framebuffer_reference(fb);
+   drm_framebuffer_get(fb);
primary->fb = primary->state->fb = fb;
primary->crtc = primary->state->crtc = _crtc->base;
 
@@ -9811,7 +9811,7 @@ mode_fits_in_fbdev(struct drm_device *dev,
if (obj->base.size < mode->vdisplay * fb->pitches[0])
return NULL;
 
-   drm_framebuffer_reference(fb);
+   drm_framebuffer_get(fb);
return fb;
 #else
return NULL;
@@ -9992,7 +9992,7 @@ int intel_get_load_detect_pipe(struct drm_connector 
*connector,
if (ret)
goto fail;
 
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
 
ret = drm_atomic_set_mode_for_crtc(_state->base, mode);
if (ret)
@@ -10542,7 +10542,7 @@ static void 
intel_modeset_update_connector_atomic_state(struct drm_device *dev)
drm_connector_list_iter_begin(dev, _iter);
for_each_intel_connector_iter(connector, _iter) {
if (connector->base.state->crtc)
-   drm_connector_unreference(>base);
+   drm_connector_put(>base);
 
if (connector->base.encoder) {
connector->base.state->best_encoder =
@@ -10550,7 +10550,7 @@ static void 
intel_modeset_update_connector_atomic_state(struct drm_device *dev)
connector->base.state->crtc =
connector->base.encoder->crtc;
 
-   drm_connector_reference(>base);
+   drm_connector_get(>base);
} else {
connector->base.state->best_encoder = NULL;
connector->base.state->crtc = NULL;
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c 
b/drivers/gpu/drm/i915/intel_dp_mst.c
index 93fc8ab..2092ab1 100644
--- a/drivers/gpu/drm/i915/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/intel_dp_mst.c
@@ -504,7 +504,7 @@ static void intel_dp_destroy_mst_connector(struct 
drm_dp_mst_topology_mgr *mgr,
intel_connector->mst_port = NULL;
drm_modeset_unlock(>dev->mode_config.connection_mutex);
 
-   drm_connector_unreference(connector);
+   drm_connector_put(connector);
DRM_DEBUG_KMS("\n");
 }
 
diff --git a/drivers/gpu/drm/i915/intel_fbde

Re: [PATCH v3 00/28] DRM API Conversions

2017-08-11 Thread Cihangir Akturk
On Fri, Aug 11, 2017 at 02:24:19PM +, Deucher, Alexander wrote:
> > -Original Message-
> > From: amd-gfx [mailto:amd-gfx-boun...@lists.freedesktop.org] On Behalf
> > Of Cihangir Akturk
> > Sent: Friday, August 11, 2017 8:33 AM
> > Cc: de...@driverdev.osuosl.org; linux-arm-...@vger.kernel.org; intel-
> > g...@lists.freedesktop.org; linux-kernel@vger.kernel.org; dri-
> > de...@lists.freedesktop.org; etna...@lists.freedesktop.org; Cihangir Akturk;
> > amd-...@lists.freedesktop.org; dan...@ffwll.ch;
> > nouv...@lists.freedesktop.org; linux-te...@vger.kernel.org;
> > virtualizat...@lists.linux-foundation.org; freedr...@lists.freedesktop.org
> > Subject: [PATCH v3 00/28] DRM API Conversions
> > 
> > Changes since v2:
> > 
> > - Patch series is based on *drm-misc-next* as suggested by Sean Paul.
> > 
> > - Dropped patch 05 (drm/atmel-hlcdc) and patch 25 (drm/vc4) from v2,
> >   since they were already pulled in the drm-misc-next
> > 
> > Changes since v1:
> > 
> > - This time patches were generated with coccinelle instead of my own
> >   script, as suggested by Daniel Vetter.
> > 
> > - Fixed the typo in commit messages. s/adn/and
> > 
> 
> FWIW, I already picked up v1 of these patches for radeon and amdgpu.

I think you can skip these patches of v3 for amdgpu and radeon, as
they have remained unchanged since v1.

> 
> Alex
> 
> > Note: I've included r-b, a-b tags, as these patches are identical to v1
> > except for the file: drivers/gpu/drm/i915/i915_gem_object.h
> > 
> > This patch set replaces the occurrences of drm_*_reference() and
> > drm_*_unreference() with the new drm_*_get() and drm_*_put()
> > functions.
> > All patches in the series do the same thing, converting to the new APIs.
> > I created patches per DRM driver as suggested by Daniel Vetter.
> > 
> > This patch set was generated by scripts/coccinelle/api/drm-get-put.cocci
> > 
> > Previous thread can be reached at:
> > https://marc.info/?l=dri-devel=150178288816047
> > 
> > Background:
> > 
> > In the kernel, reference counting APIs use *_get(), *_put() style naming
> > to reference-count the objects. But DRM subsystem uses a different
> > naming for them such as *_reference(), *_unreference() which is
> > inconsistent with the other reference counting APIs in the kernel. To
> > solve this consistency issue, Thierry Reding introduced a couple of
> > functions and compatibility aliases in the following commits for them.
> > 
> > commit 020a218f95bd3ceff7dd1022ff7ebc0497bc7bf9
> > Author: Thierry Reding <tred...@nvidia.com>
> > Date:   Tue Feb 28 15:46:38 2017 +0100
> > 
> > drm: Introduce drm_mode_object_{get,put}()
> > 
> > commit ad09360750afa18a0a0ce0253d6ea6033abc22e7
> > Author: Thierry Reding <tred...@nvidia.com>
> > Date:   Tue Feb 28 15:46:39 2017 +0100
> > 
> > drm: Introduce drm_connector_{get,put}()
> > 
> > commit a4a69da06bc11a937a6e417938b1bb698ee1fa46
> > Author: Thierry Reding <tred...@nvidia.com>
> > Date:   Tue Feb 28 15:46:40 2017 +0100
> > 
> > drm: Introduce drm_framebuffer_{get,put}()
> > 
> > commit e6b62714e87c8811d5564b6a0738dcde63a51774
> > Author: Thierry Reding <tred...@nvidia.com>
> > Date:   Tue Feb 28 15:46:41 2017 +0100
> > 
> > drm: Introduce drm_gem_object_{get,put}()
> > 
> > commit 6472e5090be7c78749a3c279b4faae87ab835c40
> > Author: Thierry Reding <tred...@nvidia.com>
> > Date:   Tue Feb 28 15:46:42 2017 +0100
> > 
> > drm: Introduce drm_property_blob_{get,put}()
> > 
> > Cihangir Akturk (28):
> >   drm/amdgpu: switch to drm_*_get(), drm_*_put() helpers
> >   drm: mali-dp: switch to drm_*_get(), drm_*_put() helpers
> >   drm/armada: switch to drm_*_get(), drm_*_put() helpers
> >   drm/ast: switch to drm_*_get(), drm_*_put() helpers
> >   drm/bochs: switch to drm_*_get(), drm_*_put() helpers
> >   drm/cirrus: switch to drm_*_get(), drm_*_put() helpers
> >   drm/etnaviv: switch to drm_*_get(), drm_*_put() helpers
> >   drm/exynos: switch to drm_*_get(), drm_*_put() helpers
> >   drm/gma500: switch to drm_*_get(), drm_*_put() helpers
> >   drm/hisilicon: switch to drm_*_get(), drm_*_put() helpers
> >   drm/i915: switch to drm_*_get(), drm_*_put() helpers
> >   drm/imx: switch to drm_*_get(), drm_*_put() helpers
> >   drm/mediatek: switch to drm_*_get(), drm_*_put() helpers
> >   drm/mgag200: switch to drm_*_get(), drm_*_put() helpers
> >   drm/msm: switch to drm_*_get(), drm_*_

Re: [PATCH v3 00/28] DRM API Conversions

2017-08-11 Thread Cihangir Akturk
On Fri, Aug 11, 2017 at 02:24:19PM +, Deucher, Alexander wrote:
> > -Original Message-
> > From: amd-gfx [mailto:amd-gfx-boun...@lists.freedesktop.org] On Behalf
> > Of Cihangir Akturk
> > Sent: Friday, August 11, 2017 8:33 AM
> > Cc: de...@driverdev.osuosl.org; linux-arm-...@vger.kernel.org; intel-
> > g...@lists.freedesktop.org; linux-kernel@vger.kernel.org; dri-
> > de...@lists.freedesktop.org; etna...@lists.freedesktop.org; Cihangir Akturk;
> > amd-...@lists.freedesktop.org; dan...@ffwll.ch;
> > nouv...@lists.freedesktop.org; linux-te...@vger.kernel.org;
> > virtualizat...@lists.linux-foundation.org; freedr...@lists.freedesktop.org
> > Subject: [PATCH v3 00/28] DRM API Conversions
> > 
> > Changes since v2:
> > 
> > - Patch series is based on *drm-misc-next* as suggested by Sean Paul.
> > 
> > - Dropped patch 05 (drm/atmel-hlcdc) and patch 25 (drm/vc4) from v2,
> >   since they were already pulled in the drm-misc-next
> > 
> > Changes since v1:
> > 
> > - This time patches were generated with coccinelle instead of my own
> >   script, as suggested by Daniel Vetter.
> > 
> > - Fixed the typo in commit messages. s/adn/and
> > 
> 
> FWIW, I already picked up v1 of these patches for radeon and amdgpu.

I think you can skip these patches of v3 for amdgpu and radeon, as
they have remained unchanged since v1.

> 
> Alex
> 
> > Note: I've included r-b, a-b tags, as these patches are identical to v1
> > except for the file: drivers/gpu/drm/i915/i915_gem_object.h
> > 
> > This patch set replaces the occurrences of drm_*_reference() and
> > drm_*_unreference() with the new drm_*_get() and drm_*_put()
> > functions.
> > All patches in the series do the same thing, converting to the new APIs.
> > I created patches per DRM driver as suggested by Daniel Vetter.
> > 
> > This patch set was generated by scripts/coccinelle/api/drm-get-put.cocci
> > 
> > Previous thread can be reached at:
> > https://marc.info/?l=dri-devel=150178288816047
> > 
> > Background:
> > 
> > In the kernel, reference counting APIs use *_get(), *_put() style naming
> > to reference-count the objects. But DRM subsystem uses a different
> > naming for them such as *_reference(), *_unreference() which is
> > inconsistent with the other reference counting APIs in the kernel. To
> > solve this consistency issue, Thierry Reding introduced a couple of
> > functions and compatibility aliases in the following commits for them.
> > 
> > commit 020a218f95bd3ceff7dd1022ff7ebc0497bc7bf9
> > Author: Thierry Reding 
> > Date:   Tue Feb 28 15:46:38 2017 +0100
> > 
> > drm: Introduce drm_mode_object_{get,put}()
> > 
> > commit ad09360750afa18a0a0ce0253d6ea6033abc22e7
> > Author: Thierry Reding 
> > Date:   Tue Feb 28 15:46:39 2017 +0100
> > 
> > drm: Introduce drm_connector_{get,put}()
> > 
> > commit a4a69da06bc11a937a6e417938b1bb698ee1fa46
> > Author: Thierry Reding 
> > Date:   Tue Feb 28 15:46:40 2017 +0100
> > 
> > drm: Introduce drm_framebuffer_{get,put}()
> > 
> > commit e6b62714e87c8811d5564b6a0738dcde63a51774
> > Author: Thierry Reding 
> > Date:   Tue Feb 28 15:46:41 2017 +0100
> > 
> > drm: Introduce drm_gem_object_{get,put}()
> > 
> > commit 6472e5090be7c78749a3c279b4faae87ab835c40
> > Author: Thierry Reding 
> > Date:   Tue Feb 28 15:46:42 2017 +0100
> > 
> > drm: Introduce drm_property_blob_{get,put}()
> > 
> > Cihangir Akturk (28):
> >   drm/amdgpu: switch to drm_*_get(), drm_*_put() helpers
> >   drm: mali-dp: switch to drm_*_get(), drm_*_put() helpers
> >   drm/armada: switch to drm_*_get(), drm_*_put() helpers
> >   drm/ast: switch to drm_*_get(), drm_*_put() helpers
> >   drm/bochs: switch to drm_*_get(), drm_*_put() helpers
> >   drm/cirrus: switch to drm_*_get(), drm_*_put() helpers
> >   drm/etnaviv: switch to drm_*_get(), drm_*_put() helpers
> >   drm/exynos: switch to drm_*_get(), drm_*_put() helpers
> >   drm/gma500: switch to drm_*_get(), drm_*_put() helpers
> >   drm/hisilicon: switch to drm_*_get(), drm_*_put() helpers
> >   drm/i915: switch to drm_*_get(), drm_*_put() helpers
> >   drm/imx: switch to drm_*_get(), drm_*_put() helpers
> >   drm/mediatek: switch to drm_*_get(), drm_*_put() helpers
> >   drm/mgag200: switch to drm_*_get(), drm_*_put() helpers
> >   drm/msm: switch to drm_*_get(), drm_*_put() helpers
> >   drm/nouveau: switch to drm_*_get(), drm_*_put() helpers
> >   drm/omapdrm: switch to drm_*_get(),

Re: [PATCH v3 07/28] drm/etnaviv: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
On Fri, Aug 11, 2017 at 04:43:07PM +0200, Lucas Stach wrote:
> Am Freitag, den 11.08.2017, 15:32 +0300 schrieb Cihangir Akturk:
> > Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
> > and drm_*_unreference() helpers.
> > 
> > drm_*_reference() and drm_*_unreference() functions are just
> > compatibility alias for drm_*_get() and drm_*_put() and should not be
> > used by new code. So convert all users of compatibility functions to
> > use the new APIs.
> > 
> > Generated by: scripts/coccinelle/api/drm-get-put.cocci
> > 
> > Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
> 
> I have already applied v1 of this patch to the etnaviv tree.

This is identical to the same patch of v1, just based on drm-misc-next
as suggested by Sean Paul.


> Regards,
> Lucas
> 
> > ---
> >  drivers/gpu/drm/etnaviv/etnaviv_drv.c|  8 
> >  drivers/gpu/drm/etnaviv/etnaviv_gem.c| 20 ++--
> >  drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c  |  2 +-
> >  drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c |  4 ++--
> >  4 files changed, 17 insertions(+), 17 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c 
> > b/drivers/gpu/drm/etnaviv/etnaviv_drv.c
> > index 91e17ae..2cb4773 100644
> > --- a/drivers/gpu/drm/etnaviv/etnaviv_drv.c
> > +++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.c
> > @@ -316,7 +316,7 @@ static int etnaviv_ioctl_gem_cpu_prep(struct drm_device 
> > *dev, void *data,
> >  
> > ret = etnaviv_gem_cpu_prep(obj, args->op, (args->timeout));
> >  
> > -   drm_gem_object_unreference_unlocked(obj);
> > +   drm_gem_object_put_unlocked(obj);
> >  
> > return ret;
> >  }
> > @@ -337,7 +337,7 @@ static int etnaviv_ioctl_gem_cpu_fini(struct drm_device 
> > *dev, void *data,
> >  
> > ret = etnaviv_gem_cpu_fini(obj);
> >  
> > -   drm_gem_object_unreference_unlocked(obj);
> > +   drm_gem_object_put_unlocked(obj);
> >  
> > return ret;
> >  }
> > @@ -357,7 +357,7 @@ static int etnaviv_ioctl_gem_info(struct drm_device 
> > *dev, void *data,
> > return -ENOENT;
> >  
> > ret = etnaviv_gem_mmap_offset(obj, >offset);
> > -   drm_gem_object_unreference_unlocked(obj);
> > +   drm_gem_object_put_unlocked(obj);
> >  
> > return ret;
> >  }
> > @@ -446,7 +446,7 @@ static int etnaviv_ioctl_gem_wait(struct drm_device 
> > *dev, void *data,
> >  
> > ret = etnaviv_gem_wait_bo(gpu, obj, timeout);
> >  
> > -   drm_gem_object_unreference_unlocked(obj);
> > +   drm_gem_object_put_unlocked(obj);
> >  
> > return ret;
> >  }
> > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c 
> > b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> > index 9a3bea7..e36fbb9 100644
> > --- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> > +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> > @@ -265,7 +265,7 @@ void etnaviv_gem_mapping_reference(struct 
> > etnaviv_vram_mapping *mapping)
> >  {
> > struct etnaviv_gem_object *etnaviv_obj = mapping->object;
> >  
> > -   drm_gem_object_reference(_obj->base);
> > +   drm_gem_object_get(_obj->base);
> >  
> > mutex_lock(_obj->lock);
> > WARN_ON(mapping->use == 0);
> > @@ -282,7 +282,7 @@ void etnaviv_gem_mapping_unreference(struct 
> > etnaviv_vram_mapping *mapping)
> > mapping->use -= 1;
> > mutex_unlock(_obj->lock);
> >  
> > -   drm_gem_object_unreference_unlocked(_obj->base);
> > +   drm_gem_object_put_unlocked(_obj->base);
> >  }
> >  
> >  struct etnaviv_vram_mapping *etnaviv_gem_mapping_get(
> > @@ -358,7 +358,7 @@ struct etnaviv_vram_mapping *etnaviv_gem_mapping_get(
> > return ERR_PTR(ret);
> >  
> > /* Take a reference on the object */
> > -   drm_gem_object_reference(obj);
> > +   drm_gem_object_get(obj);
> > return mapping;
> >  }
> >  
> > @@ -671,7 +671,7 @@ static struct drm_gem_object *__etnaviv_gem_new(struct 
> > drm_device *dev,
> > return obj;
> >  
> >  fail:
> > -   drm_gem_object_unreference_unlocked(obj);
> > +   drm_gem_object_put_unlocked(obj);
> > return ERR_PTR(ret);
> >  }
> >  
> > @@ -688,14 +688,14 @@ int etnaviv_gem_new_handle(struct drm_device *dev, 
> > struct drm_file *file,
> >  
> > ret = etnaviv_gem_obj_add(dev, obj);
> > if (ret < 0) {
> > -   drm_gem_object_unreference_unlocked(obj);
> &

Re: [PATCH v3 07/28] drm/etnaviv: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
On Fri, Aug 11, 2017 at 04:43:07PM +0200, Lucas Stach wrote:
> Am Freitag, den 11.08.2017, 15:32 +0300 schrieb Cihangir Akturk:
> > Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
> > and drm_*_unreference() helpers.
> > 
> > drm_*_reference() and drm_*_unreference() functions are just
> > compatibility alias for drm_*_get() and drm_*_put() and should not be
> > used by new code. So convert all users of compatibility functions to
> > use the new APIs.
> > 
> > Generated by: scripts/coccinelle/api/drm-get-put.cocci
> > 
> > Signed-off-by: Cihangir Akturk 
> 
> I have already applied v1 of this patch to the etnaviv tree.

This is identical to the same patch of v1, just based on drm-misc-next
as suggested by Sean Paul.


> Regards,
> Lucas
> 
> > ---
> >  drivers/gpu/drm/etnaviv/etnaviv_drv.c|  8 
> >  drivers/gpu/drm/etnaviv/etnaviv_gem.c| 20 ++--
> >  drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c  |  2 +-
> >  drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c |  4 ++--
> >  4 files changed, 17 insertions(+), 17 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c 
> > b/drivers/gpu/drm/etnaviv/etnaviv_drv.c
> > index 91e17ae..2cb4773 100644
> > --- a/drivers/gpu/drm/etnaviv/etnaviv_drv.c
> > +++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.c
> > @@ -316,7 +316,7 @@ static int etnaviv_ioctl_gem_cpu_prep(struct drm_device 
> > *dev, void *data,
> >  
> > ret = etnaviv_gem_cpu_prep(obj, args->op, (args->timeout));
> >  
> > -   drm_gem_object_unreference_unlocked(obj);
> > +   drm_gem_object_put_unlocked(obj);
> >  
> > return ret;
> >  }
> > @@ -337,7 +337,7 @@ static int etnaviv_ioctl_gem_cpu_fini(struct drm_device 
> > *dev, void *data,
> >  
> > ret = etnaviv_gem_cpu_fini(obj);
> >  
> > -   drm_gem_object_unreference_unlocked(obj);
> > +   drm_gem_object_put_unlocked(obj);
> >  
> > return ret;
> >  }
> > @@ -357,7 +357,7 @@ static int etnaviv_ioctl_gem_info(struct drm_device 
> > *dev, void *data,
> > return -ENOENT;
> >  
> > ret = etnaviv_gem_mmap_offset(obj, >offset);
> > -   drm_gem_object_unreference_unlocked(obj);
> > +   drm_gem_object_put_unlocked(obj);
> >  
> > return ret;
> >  }
> > @@ -446,7 +446,7 @@ static int etnaviv_ioctl_gem_wait(struct drm_device 
> > *dev, void *data,
> >  
> > ret = etnaviv_gem_wait_bo(gpu, obj, timeout);
> >  
> > -   drm_gem_object_unreference_unlocked(obj);
> > +   drm_gem_object_put_unlocked(obj);
> >  
> > return ret;
> >  }
> > diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c 
> > b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> > index 9a3bea7..e36fbb9 100644
> > --- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> > +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
> > @@ -265,7 +265,7 @@ void etnaviv_gem_mapping_reference(struct 
> > etnaviv_vram_mapping *mapping)
> >  {
> > struct etnaviv_gem_object *etnaviv_obj = mapping->object;
> >  
> > -   drm_gem_object_reference(_obj->base);
> > +   drm_gem_object_get(_obj->base);
> >  
> > mutex_lock(_obj->lock);
> > WARN_ON(mapping->use == 0);
> > @@ -282,7 +282,7 @@ void etnaviv_gem_mapping_unreference(struct 
> > etnaviv_vram_mapping *mapping)
> > mapping->use -= 1;
> > mutex_unlock(_obj->lock);
> >  
> > -   drm_gem_object_unreference_unlocked(_obj->base);
> > +   drm_gem_object_put_unlocked(_obj->base);
> >  }
> >  
> >  struct etnaviv_vram_mapping *etnaviv_gem_mapping_get(
> > @@ -358,7 +358,7 @@ struct etnaviv_vram_mapping *etnaviv_gem_mapping_get(
> > return ERR_PTR(ret);
> >  
> > /* Take a reference on the object */
> > -   drm_gem_object_reference(obj);
> > +   drm_gem_object_get(obj);
> > return mapping;
> >  }
> >  
> > @@ -671,7 +671,7 @@ static struct drm_gem_object *__etnaviv_gem_new(struct 
> > drm_device *dev,
> > return obj;
> >  
> >  fail:
> > -   drm_gem_object_unreference_unlocked(obj);
> > +   drm_gem_object_put_unlocked(obj);
> > return ERR_PTR(ret);
> >  }
> >  
> > @@ -688,14 +688,14 @@ int etnaviv_gem_new_handle(struct drm_device *dev, 
> > struct drm_file *file,
> >  
> > ret = etnaviv_gem_obj_add(dev, obj);
> > if (ret < 0) {
> > -   drm_gem_object_unreference_unlocked(obj);
> > +   drm_gem_object

[PATCH v3 02/28] drm: mali-dp: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
Acked-by: Liviu Dudau <liviu.du...@arm.com>
---
 drivers/gpu/drm/arm/malidp_planes.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/arm/malidp_planes.c 
b/drivers/gpu/drm/arm/malidp_planes.c
index 94e7e3f..f12f8eb 100644
--- a/drivers/gpu/drm/arm/malidp_planes.c
+++ b/drivers/gpu/drm/arm/malidp_planes.c
@@ -57,7 +57,7 @@ static void malidp_de_plane_destroy(struct drm_plane *plane)
struct malidp_plane *mp = to_malidp_plane(plane);
 
if (mp->base.fb)
-   drm_framebuffer_unreference(mp->base.fb);
+   drm_framebuffer_put(mp->base.fb);
 
drm_plane_helper_disable(plane);
drm_plane_cleanup(plane);
-- 
2.7.4



[PATCH v3 02/28] drm: mali-dp: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
Acked-by: Liviu Dudau 
---
 drivers/gpu/drm/arm/malidp_planes.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/arm/malidp_planes.c 
b/drivers/gpu/drm/arm/malidp_planes.c
index 94e7e3f..f12f8eb 100644
--- a/drivers/gpu/drm/arm/malidp_planes.c
+++ b/drivers/gpu/drm/arm/malidp_planes.c
@@ -57,7 +57,7 @@ static void malidp_de_plane_destroy(struct drm_plane *plane)
struct malidp_plane *mp = to_malidp_plane(plane);
 
if (mp->base.fb)
-   drm_framebuffer_unreference(mp->base.fb);
+   drm_framebuffer_put(mp->base.fb);
 
drm_plane_helper_disable(plane);
drm_plane_cleanup(plane);
-- 
2.7.4



[PATCH v3 05/28] drm/bochs: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/bochs/bochs_fbdev.c |  2 +-
 drivers/gpu/drm/bochs/bochs_mm.c| 10 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/bochs/bochs_fbdev.c 
b/drivers/gpu/drm/bochs/bochs_fbdev.c
index 14eb8d0..6f0cf36 100644
--- a/drivers/gpu/drm/bochs/bochs_fbdev.c
+++ b/drivers/gpu/drm/bochs/bochs_fbdev.c
@@ -144,7 +144,7 @@ static int bochs_fbdev_destroy(struct bochs_device *bochs)
drm_fb_helper_unregister_fbi(>fb.helper);
 
if (gfb->obj) {
-   drm_gem_object_unreference_unlocked(gfb->obj);
+   drm_gem_object_put_unlocked(gfb->obj);
gfb->obj = NULL;
}
 
diff --git a/drivers/gpu/drm/bochs/bochs_mm.c b/drivers/gpu/drm/bochs/bochs_mm.c
index c4cadb6..881b784 100644
--- a/drivers/gpu/drm/bochs/bochs_mm.c
+++ b/drivers/gpu/drm/bochs/bochs_mm.c
@@ -417,7 +417,7 @@ int bochs_dumb_create(struct drm_file *file, struct 
drm_device *dev,
return ret;
 
ret = drm_gem_handle_create(file, gobj, );
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
if (ret)
return ret;
 
@@ -457,7 +457,7 @@ int bochs_dumb_mmap_offset(struct drm_file *file, struct 
drm_device *dev,
bo = gem_to_bochs_bo(obj);
*offset = bochs_bo_mmap_offset(bo);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return 0;
 }
 
@@ -467,7 +467,7 @@ static void bochs_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct bochs_framebuffer *bochs_fb = to_bochs_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(bochs_fb->obj);
+   drm_gem_object_put_unlocked(bochs_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(fb);
 }
@@ -518,13 +518,13 @@ bochs_user_framebuffer_create(struct drm_device *dev,
 
bochs_fb = kzalloc(sizeof(*bochs_fb), GFP_KERNEL);
if (!bochs_fb) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(-ENOMEM);
}
 
ret = bochs_framebuffer_init(dev, bochs_fb, mode_cmd, obj);
if (ret) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
kfree(bochs_fb);
return ERR_PTR(ret);
}
-- 
2.7.4



[PATCH v3 05/28] drm/bochs: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/bochs/bochs_fbdev.c |  2 +-
 drivers/gpu/drm/bochs/bochs_mm.c| 10 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/bochs/bochs_fbdev.c 
b/drivers/gpu/drm/bochs/bochs_fbdev.c
index 14eb8d0..6f0cf36 100644
--- a/drivers/gpu/drm/bochs/bochs_fbdev.c
+++ b/drivers/gpu/drm/bochs/bochs_fbdev.c
@@ -144,7 +144,7 @@ static int bochs_fbdev_destroy(struct bochs_device *bochs)
drm_fb_helper_unregister_fbi(>fb.helper);
 
if (gfb->obj) {
-   drm_gem_object_unreference_unlocked(gfb->obj);
+   drm_gem_object_put_unlocked(gfb->obj);
gfb->obj = NULL;
}
 
diff --git a/drivers/gpu/drm/bochs/bochs_mm.c b/drivers/gpu/drm/bochs/bochs_mm.c
index c4cadb6..881b784 100644
--- a/drivers/gpu/drm/bochs/bochs_mm.c
+++ b/drivers/gpu/drm/bochs/bochs_mm.c
@@ -417,7 +417,7 @@ int bochs_dumb_create(struct drm_file *file, struct 
drm_device *dev,
return ret;
 
ret = drm_gem_handle_create(file, gobj, );
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
if (ret)
return ret;
 
@@ -457,7 +457,7 @@ int bochs_dumb_mmap_offset(struct drm_file *file, struct 
drm_device *dev,
bo = gem_to_bochs_bo(obj);
*offset = bochs_bo_mmap_offset(bo);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return 0;
 }
 
@@ -467,7 +467,7 @@ static void bochs_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct bochs_framebuffer *bochs_fb = to_bochs_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(bochs_fb->obj);
+   drm_gem_object_put_unlocked(bochs_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(fb);
 }
@@ -518,13 +518,13 @@ bochs_user_framebuffer_create(struct drm_device *dev,
 
bochs_fb = kzalloc(sizeof(*bochs_fb), GFP_KERNEL);
if (!bochs_fb) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(-ENOMEM);
}
 
ret = bochs_framebuffer_init(dev, bochs_fb, mode_cmd, obj);
if (ret) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
kfree(bochs_fb);
return ERR_PTR(ret);
}
-- 
2.7.4



[PATCH v3 09/28] drm/gma500: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/gma500/framebuffer.c | 4 ++--
 drivers/gpu/drm/gma500/gem.c | 4 ++--
 drivers/gpu/drm/gma500/gma_display.c | 6 +++---
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/gma500/framebuffer.c 
b/drivers/gpu/drm/gma500/framebuffer.c
index 2570c7f..270b225 100644
--- a/drivers/gpu/drm/gma500/framebuffer.c
+++ b/drivers/gpu/drm/gma500/framebuffer.c
@@ -519,7 +519,7 @@ static int psb_fbdev_destroy(struct drm_device *dev, struct 
psb_fbdev *fbdev)
drm_framebuffer_cleanup(>base);
 
if (psbfb->gtt)
-   drm_gem_object_unreference_unlocked(>gtt->gem);
+   drm_gem_object_put_unlocked(>gtt->gem);
return 0;
 }
 
@@ -617,7 +617,7 @@ static void psb_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
/* Let DRM do its clean up */
drm_framebuffer_cleanup(fb);
/*  We are no longer using the resource in GEM */
-   drm_gem_object_unreference_unlocked(>gem);
+   drm_gem_object_put_unlocked(>gem);
kfree(fb);
 }
 
diff --git a/drivers/gpu/drm/gma500/gem.c b/drivers/gpu/drm/gma500/gem.c
index 7da061a..b14ae9b 100644
--- a/drivers/gpu/drm/gma500/gem.c
+++ b/drivers/gpu/drm/gma500/gem.c
@@ -73,7 +73,7 @@ int psb_gem_dumb_map_gtt(struct drm_file *file, struct 
drm_device *dev,
goto out;
*offset = drm_vma_node_offset_addr(>vma_node);
 out:
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ret;
 }
 
@@ -123,7 +123,7 @@ int psb_gem_create(struct drm_file *file, struct drm_device 
*dev, u64 size,
return ret;
}
/* We have the initial and handle reference but need only one now */
-   drm_gem_object_unreference_unlocked(>gem);
+   drm_gem_object_put_unlocked(>gem);
*handlep = handle;
return 0;
 }
diff --git a/drivers/gpu/drm/gma500/gma_display.c 
b/drivers/gpu/drm/gma500/gma_display.c
index f3c48a2..5800e28 100644
--- a/drivers/gpu/drm/gma500/gma_display.c
+++ b/drivers/gpu/drm/gma500/gma_display.c
@@ -353,7 +353,7 @@ int gma_crtc_cursor_set(struct drm_crtc *crtc,
gt = container_of(gma_crtc->cursor_obj,
  struct gtt_range, gem);
psb_gtt_unpin(gt);
-   
drm_gem_object_unreference_unlocked(gma_crtc->cursor_obj);
+   drm_gem_object_put_unlocked(gma_crtc->cursor_obj);
gma_crtc->cursor_obj = NULL;
}
return 0;
@@ -429,7 +429,7 @@ int gma_crtc_cursor_set(struct drm_crtc *crtc,
if (gma_crtc->cursor_obj) {
gt = container_of(gma_crtc->cursor_obj, struct gtt_range, gem);
psb_gtt_unpin(gt);
-   drm_gem_object_unreference_unlocked(gma_crtc->cursor_obj);
+   drm_gem_object_put_unlocked(gma_crtc->cursor_obj);
}
 
gma_crtc->cursor_obj = obj;
@@ -437,7 +437,7 @@ int gma_crtc_cursor_set(struct drm_crtc *crtc,
return ret;
 
 unref_cursor:
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ret;
 }
 
-- 
2.7.4



[PATCH v3 09/28] drm/gma500: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/gma500/framebuffer.c | 4 ++--
 drivers/gpu/drm/gma500/gem.c | 4 ++--
 drivers/gpu/drm/gma500/gma_display.c | 6 +++---
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/gma500/framebuffer.c 
b/drivers/gpu/drm/gma500/framebuffer.c
index 2570c7f..270b225 100644
--- a/drivers/gpu/drm/gma500/framebuffer.c
+++ b/drivers/gpu/drm/gma500/framebuffer.c
@@ -519,7 +519,7 @@ static int psb_fbdev_destroy(struct drm_device *dev, struct 
psb_fbdev *fbdev)
drm_framebuffer_cleanup(>base);
 
if (psbfb->gtt)
-   drm_gem_object_unreference_unlocked(>gtt->gem);
+   drm_gem_object_put_unlocked(>gtt->gem);
return 0;
 }
 
@@ -617,7 +617,7 @@ static void psb_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
/* Let DRM do its clean up */
drm_framebuffer_cleanup(fb);
/*  We are no longer using the resource in GEM */
-   drm_gem_object_unreference_unlocked(>gem);
+   drm_gem_object_put_unlocked(>gem);
kfree(fb);
 }
 
diff --git a/drivers/gpu/drm/gma500/gem.c b/drivers/gpu/drm/gma500/gem.c
index 7da061a..b14ae9b 100644
--- a/drivers/gpu/drm/gma500/gem.c
+++ b/drivers/gpu/drm/gma500/gem.c
@@ -73,7 +73,7 @@ int psb_gem_dumb_map_gtt(struct drm_file *file, struct 
drm_device *dev,
goto out;
*offset = drm_vma_node_offset_addr(>vma_node);
 out:
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ret;
 }
 
@@ -123,7 +123,7 @@ int psb_gem_create(struct drm_file *file, struct drm_device 
*dev, u64 size,
return ret;
}
/* We have the initial and handle reference but need only one now */
-   drm_gem_object_unreference_unlocked(>gem);
+   drm_gem_object_put_unlocked(>gem);
*handlep = handle;
return 0;
 }
diff --git a/drivers/gpu/drm/gma500/gma_display.c 
b/drivers/gpu/drm/gma500/gma_display.c
index f3c48a2..5800e28 100644
--- a/drivers/gpu/drm/gma500/gma_display.c
+++ b/drivers/gpu/drm/gma500/gma_display.c
@@ -353,7 +353,7 @@ int gma_crtc_cursor_set(struct drm_crtc *crtc,
gt = container_of(gma_crtc->cursor_obj,
  struct gtt_range, gem);
psb_gtt_unpin(gt);
-   
drm_gem_object_unreference_unlocked(gma_crtc->cursor_obj);
+   drm_gem_object_put_unlocked(gma_crtc->cursor_obj);
gma_crtc->cursor_obj = NULL;
}
return 0;
@@ -429,7 +429,7 @@ int gma_crtc_cursor_set(struct drm_crtc *crtc,
if (gma_crtc->cursor_obj) {
gt = container_of(gma_crtc->cursor_obj, struct gtt_range, gem);
psb_gtt_unpin(gt);
-   drm_gem_object_unreference_unlocked(gma_crtc->cursor_obj);
+   drm_gem_object_put_unlocked(gma_crtc->cursor_obj);
}
 
gma_crtc->cursor_obj = obj;
@@ -437,7 +437,7 @@ int gma_crtc_cursor_set(struct drm_crtc *crtc,
return ret;
 
 unref_cursor:
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ret;
 }
 
-- 
2.7.4



[PATCH v3 08/28] drm/exynos: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/exynos/exynos_drm_fb.c|  4 ++--
 drivers/gpu/drm/exynos/exynos_drm_gem.c   | 12 ++--
 drivers/gpu/drm/exynos/exynos_drm_plane.c |  2 +-
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_fb.c 
b/drivers/gpu/drm/exynos/exynos_drm_fb.c
index ed1a648..f16ea6c 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fb.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fb.c
@@ -80,7 +80,7 @@ static void exynos_drm_fb_destroy(struct drm_framebuffer *fb)
continue;
 
obj = _fb->exynos_gem[i]->base;
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
}
 
kfree(exynos_fb);
@@ -172,7 +172,7 @@ exynos_user_fb_create(struct drm_device *dev, struct 
drm_file *file_priv,
 
 err:
while (i--)
-   drm_gem_object_unreference_unlocked(_gem[i]->base);
+   drm_gem_object_put_unlocked(_gem[i]->base);
 
return ERR_PTR(ret);
 }
diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c 
b/drivers/gpu/drm/exynos/exynos_drm_gem.c
index c23479b..1c8d2f9 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_gem.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c
@@ -143,7 +143,7 @@ static int exynos_drm_gem_handle_create(struct 
drm_gem_object *obj,
DRM_DEBUG_KMS("gem handle = 0x%x\n", *handle);
 
/* drop reference from allocate - handle holds it now. */
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return 0;
 }
@@ -186,7 +186,7 @@ unsigned long exynos_drm_gem_get_size(struct drm_device 
*dev,
 
exynos_gem = to_exynos_gem(obj);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return exynos_gem->size;
 }
@@ -320,13 +320,13 @@ void exynos_drm_gem_put_dma_addr(struct drm_device *dev,
return;
}
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
/*
 * decrease obj->refcount one more time because we has already
 * increased it at exynos_drm_gem_get_dma_addr().
 */
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 }
 
 static int exynos_drm_gem_mmap_buffer(struct exynos_drm_gem *exynos_gem,
@@ -374,7 +374,7 @@ int exynos_drm_gem_get_ioctl(struct drm_device *dev, void 
*data,
args->flags = exynos_gem->flags;
args->size = exynos_gem->size;
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return 0;
 }
@@ -444,7 +444,7 @@ int exynos_drm_gem_dumb_map_offset(struct drm_file 
*file_priv,
*offset = drm_vma_node_offset_addr(>vma_node);
DRM_DEBUG_KMS("offset = 0x%lx\n", (unsigned long)*offset);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ret;
 }
 
diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.c 
b/drivers/gpu/drm/exynos/exynos_drm_plane.c
index 8de7400..930f45b 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_plane.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_plane.c
@@ -132,7 +132,7 @@ static void exynos_drm_plane_reset(struct drm_plane *plane)
if (plane->state) {
exynos_state = to_exynos_plane_state(plane->state);
if (exynos_state->base.fb)
-   drm_framebuffer_unreference(exynos_state->base.fb);
+   drm_framebuffer_put(exynos_state->base.fb);
kfree(exynos_state);
plane->state = NULL;
}
-- 
2.7.4



[PATCH v3 08/28] drm/exynos: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/exynos/exynos_drm_fb.c|  4 ++--
 drivers/gpu/drm/exynos/exynos_drm_gem.c   | 12 ++--
 drivers/gpu/drm/exynos/exynos_drm_plane.c |  2 +-
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_fb.c 
b/drivers/gpu/drm/exynos/exynos_drm_fb.c
index ed1a648..f16ea6c 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fb.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fb.c
@@ -80,7 +80,7 @@ static void exynos_drm_fb_destroy(struct drm_framebuffer *fb)
continue;
 
obj = _fb->exynos_gem[i]->base;
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
}
 
kfree(exynos_fb);
@@ -172,7 +172,7 @@ exynos_user_fb_create(struct drm_device *dev, struct 
drm_file *file_priv,
 
 err:
while (i--)
-   drm_gem_object_unreference_unlocked(_gem[i]->base);
+   drm_gem_object_put_unlocked(_gem[i]->base);
 
return ERR_PTR(ret);
 }
diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c 
b/drivers/gpu/drm/exynos/exynos_drm_gem.c
index c23479b..1c8d2f9 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_gem.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c
@@ -143,7 +143,7 @@ static int exynos_drm_gem_handle_create(struct 
drm_gem_object *obj,
DRM_DEBUG_KMS("gem handle = 0x%x\n", *handle);
 
/* drop reference from allocate - handle holds it now. */
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return 0;
 }
@@ -186,7 +186,7 @@ unsigned long exynos_drm_gem_get_size(struct drm_device 
*dev,
 
exynos_gem = to_exynos_gem(obj);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return exynos_gem->size;
 }
@@ -320,13 +320,13 @@ void exynos_drm_gem_put_dma_addr(struct drm_device *dev,
return;
}
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
/*
 * decrease obj->refcount one more time because we has already
 * increased it at exynos_drm_gem_get_dma_addr().
 */
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 }
 
 static int exynos_drm_gem_mmap_buffer(struct exynos_drm_gem *exynos_gem,
@@ -374,7 +374,7 @@ int exynos_drm_gem_get_ioctl(struct drm_device *dev, void 
*data,
args->flags = exynos_gem->flags;
args->size = exynos_gem->size;
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return 0;
 }
@@ -444,7 +444,7 @@ int exynos_drm_gem_dumb_map_offset(struct drm_file 
*file_priv,
*offset = drm_vma_node_offset_addr(>vma_node);
DRM_DEBUG_KMS("offset = 0x%lx\n", (unsigned long)*offset);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ret;
 }
 
diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.c 
b/drivers/gpu/drm/exynos/exynos_drm_plane.c
index 8de7400..930f45b 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_plane.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_plane.c
@@ -132,7 +132,7 @@ static void exynos_drm_plane_reset(struct drm_plane *plane)
if (plane->state) {
exynos_state = to_exynos_plane_state(plane->state);
if (exynos_state->base.fb)
-   drm_framebuffer_unreference(exynos_state->base.fb);
+   drm_framebuffer_put(exynos_state->base.fb);
kfree(exynos_state);
plane->state = NULL;
}
-- 
2.7.4



[PATCH v3 06/28] drm/cirrus: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/cirrus/cirrus_fbdev.c |  2 +-
 drivers/gpu/drm/cirrus/cirrus_main.c  | 10 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/cirrus/cirrus_fbdev.c 
b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
index 0f6815f..32fbfba 100644
--- a/drivers/gpu/drm/cirrus/cirrus_fbdev.c
+++ b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
@@ -251,7 +251,7 @@ static int cirrus_fbdev_destroy(struct drm_device *dev,
drm_fb_helper_unregister_fbi(>helper);
 
if (gfb->obj) {
-   drm_gem_object_unreference_unlocked(gfb->obj);
+   drm_gem_object_put_unlocked(gfb->obj);
gfb->obj = NULL;
}
 
diff --git a/drivers/gpu/drm/cirrus/cirrus_main.c 
b/drivers/gpu/drm/cirrus/cirrus_main.c
index e7fc95f..b5f5285 100644
--- a/drivers/gpu/drm/cirrus/cirrus_main.c
+++ b/drivers/gpu/drm/cirrus/cirrus_main.c
@@ -18,7 +18,7 @@ static void cirrus_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct cirrus_framebuffer *cirrus_fb = to_cirrus_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(cirrus_fb->obj);
+   drm_gem_object_put_unlocked(cirrus_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(fb);
 }
@@ -67,13 +67,13 @@ cirrus_user_framebuffer_create(struct drm_device *dev,
 
cirrus_fb = kzalloc(sizeof(*cirrus_fb), GFP_KERNEL);
if (!cirrus_fb) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(-ENOMEM);
}
 
ret = cirrus_framebuffer_init(dev, cirrus_fb, mode_cmd, obj);
if (ret) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
kfree(cirrus_fb);
return ERR_PTR(ret);
}
@@ -261,7 +261,7 @@ int cirrus_dumb_create(struct drm_file *file,
return ret;
 
ret = drm_gem_handle_create(file, gobj, );
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
if (ret)
return ret;
 
@@ -310,7 +310,7 @@ cirrus_dumb_mmap_offset(struct drm_file *file,
bo = gem_to_cirrus_bo(obj);
*offset = cirrus_bo_mmap_offset(bo);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return 0;
 }
-- 
2.7.4



[PATCH v3 06/28] drm/cirrus: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/cirrus/cirrus_fbdev.c |  2 +-
 drivers/gpu/drm/cirrus/cirrus_main.c  | 10 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/cirrus/cirrus_fbdev.c 
b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
index 0f6815f..32fbfba 100644
--- a/drivers/gpu/drm/cirrus/cirrus_fbdev.c
+++ b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
@@ -251,7 +251,7 @@ static int cirrus_fbdev_destroy(struct drm_device *dev,
drm_fb_helper_unregister_fbi(>helper);
 
if (gfb->obj) {
-   drm_gem_object_unreference_unlocked(gfb->obj);
+   drm_gem_object_put_unlocked(gfb->obj);
gfb->obj = NULL;
}
 
diff --git a/drivers/gpu/drm/cirrus/cirrus_main.c 
b/drivers/gpu/drm/cirrus/cirrus_main.c
index e7fc95f..b5f5285 100644
--- a/drivers/gpu/drm/cirrus/cirrus_main.c
+++ b/drivers/gpu/drm/cirrus/cirrus_main.c
@@ -18,7 +18,7 @@ static void cirrus_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct cirrus_framebuffer *cirrus_fb = to_cirrus_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(cirrus_fb->obj);
+   drm_gem_object_put_unlocked(cirrus_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(fb);
 }
@@ -67,13 +67,13 @@ cirrus_user_framebuffer_create(struct drm_device *dev,
 
cirrus_fb = kzalloc(sizeof(*cirrus_fb), GFP_KERNEL);
if (!cirrus_fb) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(-ENOMEM);
}
 
ret = cirrus_framebuffer_init(dev, cirrus_fb, mode_cmd, obj);
if (ret) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
kfree(cirrus_fb);
return ERR_PTR(ret);
}
@@ -261,7 +261,7 @@ int cirrus_dumb_create(struct drm_file *file,
return ret;
 
ret = drm_gem_handle_create(file, gobj, );
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
if (ret)
return ret;
 
@@ -310,7 +310,7 @@ cirrus_dumb_mmap_offset(struct drm_file *file,
bo = gem_to_cirrus_bo(obj);
*offset = cirrus_bo_mmap_offset(bo);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return 0;
 }
-- 
2.7.4



[PATCH v3 10/28] drm/hisilicon: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c | 4 ++--
 drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c   | 8 
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c 
b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c
index 9740eed..b92595c 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c
@@ -157,7 +157,7 @@ static int hibmc_drm_fb_create(struct drm_fb_helper *helper,
 out_unreserve_ttm_bo:
ttm_bo_unreserve(>bo);
 out_unref_gem:
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
 
return ret;
 }
@@ -172,7 +172,7 @@ static void hibmc_fbdev_destroy(struct hibmc_fbdev *fbdev)
drm_fb_helper_fini(fbh);
 
if (gfb)
-   drm_framebuffer_unreference(>fb);
+   drm_framebuffer_put(>fb);
 }
 
 static const struct drm_fb_helper_funcs hibmc_fbdev_helper_funcs = {
diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c 
b/drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c
index ac457c7..3518167 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c
@@ -444,7 +444,7 @@ int hibmc_dumb_create(struct drm_file *file, struct 
drm_device *dev,
}
 
ret = drm_gem_handle_create(file, gobj, );
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
if (ret) {
DRM_ERROR("failed to unreference GEM object: %d\n", ret);
return ret;
@@ -479,7 +479,7 @@ int hibmc_dumb_mmap_offset(struct drm_file *file, struct 
drm_device *dev,
bo = gem_to_hibmc_bo(obj);
*offset = hibmc_bo_mmap_offset(bo);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return 0;
 }
 
@@ -487,7 +487,7 @@ static void hibmc_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct hibmc_framebuffer *hibmc_fb = to_hibmc_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(hibmc_fb->obj);
+   drm_gem_object_put_unlocked(hibmc_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(hibmc_fb);
 }
@@ -543,7 +543,7 @@ hibmc_user_framebuffer_create(struct drm_device *dev,
 
hibmc_fb = hibmc_framebuffer_init(dev, mode_cmd, obj);
if (IS_ERR(hibmc_fb)) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR((long)hibmc_fb);
}
return _fb->fb;
-- 
2.7.4



[PATCH v3 11/28] drm/i915: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/i915/i915_gem_object.h |  4 ++--
 drivers/gpu/drm/i915/intel_display.c   | 24 
 drivers/gpu/drm/i915/intel_dp_mst.c|  2 +-
 drivers/gpu/drm/i915/intel_fbdev.c |  4 ++--
 4 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_object.h 
b/drivers/gpu/drm/i915/i915_gem_object.h
index 5b19a49..95cfb64 100644
--- a/drivers/gpu/drm/i915/i915_gem_object.h
+++ b/drivers/gpu/drm/i915/i915_gem_object.h
@@ -257,7 +257,7 @@ __attribute__((nonnull))
 static inline struct drm_i915_gem_object *
 i915_gem_object_get(struct drm_i915_gem_object *obj)
 {
-   drm_gem_object_reference(>base);
+   drm_gem_object_get(>base);
return obj;
 }
 
@@ -268,7 +268,7 @@ __attribute__((nonnull))
 static inline void
 i915_gem_object_put(struct drm_i915_gem_object *obj)
 {
-   __drm_gem_object_unreference(>base);
+   __drm_gem_object_put(>base);
 }
 
 __deprecated
diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 684d653..70ebc19 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2672,10 +2672,10 @@ update_state_fb(struct drm_plane *plane)
return;
 
if (plane->state->fb)
-   drm_framebuffer_unreference(plane->state->fb);
+   drm_framebuffer_put(plane->state->fb);
plane->state->fb = plane->fb;
if (plane->state->fb)
-   drm_framebuffer_reference(plane->state->fb);
+   drm_framebuffer_get(plane->state->fb);
 }
 
 static void
@@ -2746,7 +2746,7 @@ intel_find_initial_plane_obj(struct intel_crtc 
*intel_crtc,
 
if (intel_plane_ggtt_offset(state) == plane_config->base) {
fb = c->primary->fb;
-   drm_framebuffer_reference(fb);
+   drm_framebuffer_get(fb);
goto valid_fb;
}
}
@@ -2777,7 +2777,7 @@ intel_find_initial_plane_obj(struct intel_crtc 
*intel_crtc,
  intel_crtc->pipe, PTR_ERR(intel_state->vma));
 
intel_state->vma = NULL;
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
return;
}
 
@@ -2798,7 +2798,7 @@ intel_find_initial_plane_obj(struct intel_crtc 
*intel_crtc,
if (i915_gem_object_is_tiled(obj))
dev_priv->preserve_bios_swizzle = true;
 
-   drm_framebuffer_reference(fb);
+   drm_framebuffer_get(fb);
primary->fb = primary->state->fb = fb;
primary->crtc = primary->state->crtc = _crtc->base;
 
@@ -9683,7 +9683,7 @@ mode_fits_in_fbdev(struct drm_device *dev,
if (obj->base.size < mode->vdisplay * fb->pitches[0])
return NULL;
 
-   drm_framebuffer_reference(fb);
+   drm_framebuffer_get(fb);
return fb;
 #else
return NULL;
@@ -9864,7 +9864,7 @@ int intel_get_load_detect_pipe(struct drm_connector 
*connector,
if (ret)
goto fail;
 
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
 
ret = drm_atomic_set_mode_for_crtc(_state->base, mode);
if (ret)
@@ -10174,7 +10174,7 @@ static void intel_unpin_work_fn(struct work_struct 
*__work)
intel_frontbuffer_flip_complete(to_i915(dev),

to_intel_plane(primary)->frontbuffer_bit);
intel_fbc_post_update(crtc);
-   drm_framebuffer_unreference(work->old_fb);
+   drm_framebuffer_put(work->old_fb);
 
BUG_ON(atomic_read(>unpin_work_count) == 0);
atomic_dec(>unpin_work_count);
@@ -10814,7 +10814,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
flush_workqueue(dev_priv->wq);
 
/* Reference the objects for the scheduled work. */
-   drm_framebuffer_reference(work->old_fb);
+   drm_framebuffer_get(work->old_fb);
 
crtc->primary->fb = fb;
update_state_fb(crtc->primary);
@@ -10928,7 +10928,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
update_state_fb(crtc->primary);
 
i915_gem_object_put(obj);
-   drm_framebuffer_unreference(work->old_fb);
+   drm_framebuffer_put(work->old_fb);
 
spin_lock_irq(>event_lock);
intel_crtc->flip_work = NULL;
@@ -11252,7 +11252,7 @@ static void

[PATCH v3 10/28] drm/hisilicon: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c | 4 ++--
 drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c   | 8 
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c 
b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c
index 9740eed..b92595c 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c
@@ -157,7 +157,7 @@ static int hibmc_drm_fb_create(struct drm_fb_helper *helper,
 out_unreserve_ttm_bo:
ttm_bo_unreserve(>bo);
 out_unref_gem:
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
 
return ret;
 }
@@ -172,7 +172,7 @@ static void hibmc_fbdev_destroy(struct hibmc_fbdev *fbdev)
drm_fb_helper_fini(fbh);
 
if (gfb)
-   drm_framebuffer_unreference(>fb);
+   drm_framebuffer_put(>fb);
 }
 
 static const struct drm_fb_helper_funcs hibmc_fbdev_helper_funcs = {
diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c 
b/drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c
index ac457c7..3518167 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c
@@ -444,7 +444,7 @@ int hibmc_dumb_create(struct drm_file *file, struct 
drm_device *dev,
}
 
ret = drm_gem_handle_create(file, gobj, );
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
if (ret) {
DRM_ERROR("failed to unreference GEM object: %d\n", ret);
return ret;
@@ -479,7 +479,7 @@ int hibmc_dumb_mmap_offset(struct drm_file *file, struct 
drm_device *dev,
bo = gem_to_hibmc_bo(obj);
*offset = hibmc_bo_mmap_offset(bo);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return 0;
 }
 
@@ -487,7 +487,7 @@ static void hibmc_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct hibmc_framebuffer *hibmc_fb = to_hibmc_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(hibmc_fb->obj);
+   drm_gem_object_put_unlocked(hibmc_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(hibmc_fb);
 }
@@ -543,7 +543,7 @@ hibmc_user_framebuffer_create(struct drm_device *dev,
 
hibmc_fb = hibmc_framebuffer_init(dev, mode_cmd, obj);
if (IS_ERR(hibmc_fb)) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR((long)hibmc_fb);
}
return _fb->fb;
-- 
2.7.4



[PATCH v3 11/28] drm/i915: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/i915/i915_gem_object.h |  4 ++--
 drivers/gpu/drm/i915/intel_display.c   | 24 
 drivers/gpu/drm/i915/intel_dp_mst.c|  2 +-
 drivers/gpu/drm/i915/intel_fbdev.c |  4 ++--
 4 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_object.h 
b/drivers/gpu/drm/i915/i915_gem_object.h
index 5b19a49..95cfb64 100644
--- a/drivers/gpu/drm/i915/i915_gem_object.h
+++ b/drivers/gpu/drm/i915/i915_gem_object.h
@@ -257,7 +257,7 @@ __attribute__((nonnull))
 static inline struct drm_i915_gem_object *
 i915_gem_object_get(struct drm_i915_gem_object *obj)
 {
-   drm_gem_object_reference(>base);
+   drm_gem_object_get(>base);
return obj;
 }
 
@@ -268,7 +268,7 @@ __attribute__((nonnull))
 static inline void
 i915_gem_object_put(struct drm_i915_gem_object *obj)
 {
-   __drm_gem_object_unreference(>base);
+   __drm_gem_object_put(>base);
 }
 
 __deprecated
diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 684d653..70ebc19 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2672,10 +2672,10 @@ update_state_fb(struct drm_plane *plane)
return;
 
if (plane->state->fb)
-   drm_framebuffer_unreference(plane->state->fb);
+   drm_framebuffer_put(plane->state->fb);
plane->state->fb = plane->fb;
if (plane->state->fb)
-   drm_framebuffer_reference(plane->state->fb);
+   drm_framebuffer_get(plane->state->fb);
 }
 
 static void
@@ -2746,7 +2746,7 @@ intel_find_initial_plane_obj(struct intel_crtc 
*intel_crtc,
 
if (intel_plane_ggtt_offset(state) == plane_config->base) {
fb = c->primary->fb;
-   drm_framebuffer_reference(fb);
+   drm_framebuffer_get(fb);
goto valid_fb;
}
}
@@ -2777,7 +2777,7 @@ intel_find_initial_plane_obj(struct intel_crtc 
*intel_crtc,
  intel_crtc->pipe, PTR_ERR(intel_state->vma));
 
intel_state->vma = NULL;
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
return;
}
 
@@ -2798,7 +2798,7 @@ intel_find_initial_plane_obj(struct intel_crtc 
*intel_crtc,
if (i915_gem_object_is_tiled(obj))
dev_priv->preserve_bios_swizzle = true;
 
-   drm_framebuffer_reference(fb);
+   drm_framebuffer_get(fb);
primary->fb = primary->state->fb = fb;
primary->crtc = primary->state->crtc = _crtc->base;
 
@@ -9683,7 +9683,7 @@ mode_fits_in_fbdev(struct drm_device *dev,
if (obj->base.size < mode->vdisplay * fb->pitches[0])
return NULL;
 
-   drm_framebuffer_reference(fb);
+   drm_framebuffer_get(fb);
return fb;
 #else
return NULL;
@@ -9864,7 +9864,7 @@ int intel_get_load_detect_pipe(struct drm_connector 
*connector,
if (ret)
goto fail;
 
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
 
ret = drm_atomic_set_mode_for_crtc(_state->base, mode);
if (ret)
@@ -10174,7 +10174,7 @@ static void intel_unpin_work_fn(struct work_struct 
*__work)
intel_frontbuffer_flip_complete(to_i915(dev),

to_intel_plane(primary)->frontbuffer_bit);
intel_fbc_post_update(crtc);
-   drm_framebuffer_unreference(work->old_fb);
+   drm_framebuffer_put(work->old_fb);
 
BUG_ON(atomic_read(>unpin_work_count) == 0);
atomic_dec(>unpin_work_count);
@@ -10814,7 +10814,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
flush_workqueue(dev_priv->wq);
 
/* Reference the objects for the scheduled work. */
-   drm_framebuffer_reference(work->old_fb);
+   drm_framebuffer_get(work->old_fb);
 
crtc->primary->fb = fb;
update_state_fb(crtc->primary);
@@ -10928,7 +10928,7 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
update_state_fb(crtc->primary);
 
i915_gem_object_put(obj);
-   drm_framebuffer_unreference(work->old_fb);
+   drm_framebuffer_put(work->old_fb);
 
spin_lock_irq(>event_lock);
intel_crtc->flip_work = NULL;
@@ -11252,7 +11252,7 @@ static void 
intel_modes

[PATCH v3 16/28] drm/nouveau: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
Reviewed-by: Tobias Klausmann <tobias.johannes.klausm...@mni.thm.de>
---
 drivers/gpu/drm/nouveau/dispnv04/crtc.c   |  2 +-
 drivers/gpu/drm/nouveau/nouveau_abi16.c   |  2 +-
 drivers/gpu/drm/nouveau/nouveau_display.c |  8 
 drivers/gpu/drm/nouveau/nouveau_fbcon.c   |  2 +-
 drivers/gpu/drm/nouveau/nouveau_gem.c | 14 +++---
 drivers/gpu/drm/nouveau/nv50_display.c|  2 +-
 6 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/dispnv04/crtc.c 
b/drivers/gpu/drm/nouveau/dispnv04/crtc.c
index 8f689f1..444d827 100644
--- a/drivers/gpu/drm/nouveau/dispnv04/crtc.c
+++ b/drivers/gpu/drm/nouveau/dispnv04/crtc.c
@@ -1017,7 +1017,7 @@ nv04_crtc_cursor_set(struct drm_crtc *crtc, struct 
drm_file *file_priv,
nv_crtc->cursor.set_offset(nv_crtc, nv_crtc->cursor.offset);
nv_crtc->cursor.show(nv_crtc, true);
 out:
-   drm_gem_object_unreference_unlocked(gem);
+   drm_gem_object_put_unlocked(gem);
return ret;
 }
 
diff --git a/drivers/gpu/drm/nouveau/nouveau_abi16.c 
b/drivers/gpu/drm/nouveau/nouveau_abi16.c
index f98f800..3e9db5a 100644
--- a/drivers/gpu/drm/nouveau/nouveau_abi16.c
+++ b/drivers/gpu/drm/nouveau/nouveau_abi16.c
@@ -136,7 +136,7 @@ nouveau_abi16_chan_fini(struct nouveau_abi16 *abi16,
if (chan->ntfy) {
nouveau_bo_vma_del(chan->ntfy, >ntfy_vma);
nouveau_bo_unpin(chan->ntfy);
-   drm_gem_object_unreference_unlocked(>ntfy->gem);
+   drm_gem_object_put_unlocked(>ntfy->gem);
}
 
if (chan->heap.block_size)
diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c 
b/drivers/gpu/drm/nouveau/nouveau_display.c
index b9a109b..73cb82f 100644
--- a/drivers/gpu/drm/nouveau/nouveau_display.c
+++ b/drivers/gpu/drm/nouveau/nouveau_display.c
@@ -204,7 +204,7 @@ nouveau_user_framebuffer_destroy(struct drm_framebuffer 
*drm_fb)
struct nouveau_framebuffer *fb = nouveau_framebuffer(drm_fb);
 
if (fb->nvbo)
-   drm_gem_object_unreference_unlocked(>nvbo->gem);
+   drm_gem_object_put_unlocked(>nvbo->gem);
 
drm_framebuffer_cleanup(drm_fb);
kfree(fb);
@@ -265,7 +265,7 @@ nouveau_user_framebuffer_create(struct drm_device *dev,
if (ret == 0)
return >base;
 
-   drm_gem_object_unreference_unlocked(gem);
+   drm_gem_object_put_unlocked(gem);
return ERR_PTR(ret);
 }
 
@@ -945,7 +945,7 @@ nouveau_display_dumb_create(struct drm_file *file_priv, 
struct drm_device *dev,
return ret;
 
ret = drm_gem_handle_create(file_priv, >gem, >handle);
-   drm_gem_object_unreference_unlocked(>gem);
+   drm_gem_object_put_unlocked(>gem);
return ret;
 }
 
@@ -960,7 +960,7 @@ nouveau_display_dumb_map_offset(struct drm_file *file_priv,
if (gem) {
struct nouveau_bo *bo = nouveau_gem_object(gem);
*poffset = drm_vma_node_offset_addr(>bo.vma_node);
-   drm_gem_object_unreference_unlocked(gem);
+   drm_gem_object_put_unlocked(gem);
return 0;
}
 
diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c 
b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
index f770784..e6a14af 100644
--- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c
+++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
@@ -431,7 +431,7 @@ nouveau_fbcon_destroy(struct drm_device *dev, struct 
nouveau_fbdev *fbcon)
nouveau_bo_vma_del(nouveau_fb->nvbo, _fb->vma);
nouveau_bo_unmap(nouveau_fb->nvbo);
nouveau_bo_unpin(nouveau_fb->nvbo);
-   drm_framebuffer_unreference(_fb->base);
+   drm_framebuffer_put(_fb->base);
}
 
return 0;
diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c 
b/drivers/gpu/drm/nouveau/nouveau_gem.c
index 2170534..653425c 100644
--- a/drivers/gpu/drm/nouveau/nouveau_gem.c
+++ b/drivers/gpu/drm/nouveau/nouveau_gem.c
@@ -281,7 +281,7 @@ nouveau_gem_ioctl_new(struct drm_device *dev, void *data,
}
 
/* drop reference from allocate - handle holds it now */
-   drm_gem_object_unreference_unlocked(>gem);
+   drm_gem_object_put_unlocked(>gem);
return ret;
 }
 
@@ -350,7 +350,7 @@ validate_fini_no_ticket(struct validate_op *op, struct 
nouveau_fence *fence,
list_del(>entry);
nvbo->reserved_by = NULL;
ttm_bo_unreserve_ticket(>bo, >

[PATCH v3 16/28] drm/nouveau: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
Reviewed-by: Tobias Klausmann 
---
 drivers/gpu/drm/nouveau/dispnv04/crtc.c   |  2 +-
 drivers/gpu/drm/nouveau/nouveau_abi16.c   |  2 +-
 drivers/gpu/drm/nouveau/nouveau_display.c |  8 
 drivers/gpu/drm/nouveau/nouveau_fbcon.c   |  2 +-
 drivers/gpu/drm/nouveau/nouveau_gem.c | 14 +++---
 drivers/gpu/drm/nouveau/nv50_display.c|  2 +-
 6 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/dispnv04/crtc.c 
b/drivers/gpu/drm/nouveau/dispnv04/crtc.c
index 8f689f1..444d827 100644
--- a/drivers/gpu/drm/nouveau/dispnv04/crtc.c
+++ b/drivers/gpu/drm/nouveau/dispnv04/crtc.c
@@ -1017,7 +1017,7 @@ nv04_crtc_cursor_set(struct drm_crtc *crtc, struct 
drm_file *file_priv,
nv_crtc->cursor.set_offset(nv_crtc, nv_crtc->cursor.offset);
nv_crtc->cursor.show(nv_crtc, true);
 out:
-   drm_gem_object_unreference_unlocked(gem);
+   drm_gem_object_put_unlocked(gem);
return ret;
 }
 
diff --git a/drivers/gpu/drm/nouveau/nouveau_abi16.c 
b/drivers/gpu/drm/nouveau/nouveau_abi16.c
index f98f800..3e9db5a 100644
--- a/drivers/gpu/drm/nouveau/nouveau_abi16.c
+++ b/drivers/gpu/drm/nouveau/nouveau_abi16.c
@@ -136,7 +136,7 @@ nouveau_abi16_chan_fini(struct nouveau_abi16 *abi16,
if (chan->ntfy) {
nouveau_bo_vma_del(chan->ntfy, >ntfy_vma);
nouveau_bo_unpin(chan->ntfy);
-   drm_gem_object_unreference_unlocked(>ntfy->gem);
+   drm_gem_object_put_unlocked(>ntfy->gem);
}
 
if (chan->heap.block_size)
diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c 
b/drivers/gpu/drm/nouveau/nouveau_display.c
index b9a109b..73cb82f 100644
--- a/drivers/gpu/drm/nouveau/nouveau_display.c
+++ b/drivers/gpu/drm/nouveau/nouveau_display.c
@@ -204,7 +204,7 @@ nouveau_user_framebuffer_destroy(struct drm_framebuffer 
*drm_fb)
struct nouveau_framebuffer *fb = nouveau_framebuffer(drm_fb);
 
if (fb->nvbo)
-   drm_gem_object_unreference_unlocked(>nvbo->gem);
+   drm_gem_object_put_unlocked(>nvbo->gem);
 
drm_framebuffer_cleanup(drm_fb);
kfree(fb);
@@ -265,7 +265,7 @@ nouveau_user_framebuffer_create(struct drm_device *dev,
if (ret == 0)
return >base;
 
-   drm_gem_object_unreference_unlocked(gem);
+   drm_gem_object_put_unlocked(gem);
return ERR_PTR(ret);
 }
 
@@ -945,7 +945,7 @@ nouveau_display_dumb_create(struct drm_file *file_priv, 
struct drm_device *dev,
return ret;
 
ret = drm_gem_handle_create(file_priv, >gem, >handle);
-   drm_gem_object_unreference_unlocked(>gem);
+   drm_gem_object_put_unlocked(>gem);
return ret;
 }
 
@@ -960,7 +960,7 @@ nouveau_display_dumb_map_offset(struct drm_file *file_priv,
if (gem) {
struct nouveau_bo *bo = nouveau_gem_object(gem);
*poffset = drm_vma_node_offset_addr(>bo.vma_node);
-   drm_gem_object_unreference_unlocked(gem);
+   drm_gem_object_put_unlocked(gem);
return 0;
}
 
diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c 
b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
index f770784..e6a14af 100644
--- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c
+++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
@@ -431,7 +431,7 @@ nouveau_fbcon_destroy(struct drm_device *dev, struct 
nouveau_fbdev *fbcon)
nouveau_bo_vma_del(nouveau_fb->nvbo, _fb->vma);
nouveau_bo_unmap(nouveau_fb->nvbo);
nouveau_bo_unpin(nouveau_fb->nvbo);
-   drm_framebuffer_unreference(_fb->base);
+   drm_framebuffer_put(_fb->base);
}
 
return 0;
diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c 
b/drivers/gpu/drm/nouveau/nouveau_gem.c
index 2170534..653425c 100644
--- a/drivers/gpu/drm/nouveau/nouveau_gem.c
+++ b/drivers/gpu/drm/nouveau/nouveau_gem.c
@@ -281,7 +281,7 @@ nouveau_gem_ioctl_new(struct drm_device *dev, void *data,
}
 
/* drop reference from allocate - handle holds it now */
-   drm_gem_object_unreference_unlocked(>gem);
+   drm_gem_object_put_unlocked(>gem);
return ret;
 }
 
@@ -350,7 +350,7 @@ validate_fini_no_ticket(struct validate_op *op, struct 
nouveau_fence *fence,
list_del(>entry);
nvbo->reserved_by = NULL;
ttm_bo_unreserve_ticket(>bo, >ticket);
-   drm_gem_object_unreference_unlocked(>gem);

[PATCH v3 13/28] drm/mediatek: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/mediatek/mtk_drm_fb.c  | 4 ++--
 drivers/gpu/drm/mediatek/mtk_drm_gem.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_fb.c 
b/drivers/gpu/drm/mediatek/mtk_drm_fb.c
index d4246c9..0d8d506 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_fb.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_fb.c
@@ -58,7 +58,7 @@ static void mtk_drm_fb_destroy(struct drm_framebuffer *fb)
 
drm_framebuffer_cleanup(fb);
 
-   drm_gem_object_unreference_unlocked(mtk_fb->gem_obj);
+   drm_gem_object_put_unlocked(mtk_fb->gem_obj);
 
kfree(mtk_fb);
 }
@@ -160,6 +160,6 @@ struct drm_framebuffer *mtk_drm_mode_fb_create(struct 
drm_device *dev,
return _fb->base;
 
 unreference:
-   drm_gem_object_unreference_unlocked(gem);
+   drm_gem_object_put_unlocked(gem);
return ERR_PTR(ret);
 }
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_gem.c 
b/drivers/gpu/drm/mediatek/mtk_drm_gem.c
index 8ec963f..f595ac8 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_gem.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_gem.c
@@ -122,7 +122,7 @@ int mtk_drm_gem_dumb_create(struct drm_file *file_priv, 
struct drm_device *dev,
goto err_handle_create;
 
/* drop reference from allocate - handle holds it now. */
-   drm_gem_object_unreference_unlocked(_gem->base);
+   drm_gem_object_put_unlocked(_gem->base);
 
return 0;
 
-- 
2.7.4



[PATCH v3 13/28] drm/mediatek: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/mediatek/mtk_drm_fb.c  | 4 ++--
 drivers/gpu/drm/mediatek/mtk_drm_gem.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_fb.c 
b/drivers/gpu/drm/mediatek/mtk_drm_fb.c
index d4246c9..0d8d506 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_fb.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_fb.c
@@ -58,7 +58,7 @@ static void mtk_drm_fb_destroy(struct drm_framebuffer *fb)
 
drm_framebuffer_cleanup(fb);
 
-   drm_gem_object_unreference_unlocked(mtk_fb->gem_obj);
+   drm_gem_object_put_unlocked(mtk_fb->gem_obj);
 
kfree(mtk_fb);
 }
@@ -160,6 +160,6 @@ struct drm_framebuffer *mtk_drm_mode_fb_create(struct 
drm_device *dev,
return _fb->base;
 
 unreference:
-   drm_gem_object_unreference_unlocked(gem);
+   drm_gem_object_put_unlocked(gem);
return ERR_PTR(ret);
 }
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_gem.c 
b/drivers/gpu/drm/mediatek/mtk_drm_gem.c
index 8ec963f..f595ac8 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_gem.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_gem.c
@@ -122,7 +122,7 @@ int mtk_drm_gem_dumb_create(struct drm_file *file_priv, 
struct drm_device *dev,
goto err_handle_create;
 
/* drop reference from allocate - handle holds it now. */
-   drm_gem_object_unreference_unlocked(_gem->base);
+   drm_gem_object_put_unlocked(_gem->base);
 
return 0;
 
-- 
2.7.4



[PATCH v3 18/28] drm/qxl: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/qxl/qxl_display.c | 4 ++--
 drivers/gpu/drm/qxl/qxl_dumb.c| 2 +-
 drivers/gpu/drm/qxl/qxl_fb.c  | 6 +++---
 drivers/gpu/drm/qxl/qxl_gem.c | 2 +-
 drivers/gpu/drm/qxl/qxl_ioctl.c   | 4 ++--
 drivers/gpu/drm/qxl/qxl_object.c  | 6 +++---
 6 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/qxl/qxl_display.c 
b/drivers/gpu/drm/qxl/qxl_display.c
index 14c5613..a54a766 100644
--- a/drivers/gpu/drm/qxl/qxl_display.c
+++ b/drivers/gpu/drm/qxl/qxl_display.c
@@ -306,7 +306,7 @@ void qxl_user_framebuffer_destroy(struct drm_framebuffer 
*fb)
 {
struct qxl_framebuffer *qxl_fb = to_qxl_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(qxl_fb->obj);
+   drm_gem_object_put_unlocked(qxl_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(qxl_fb);
 }
@@ -1106,7 +1106,7 @@ qxl_user_framebuffer_create(struct drm_device *dev,
ret = qxl_framebuffer_init(dev, qxl_fb, mode_cmd, obj, _fb_funcs);
if (ret) {
kfree(qxl_fb);
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return NULL;
}
 
diff --git a/drivers/gpu/drm/qxl/qxl_dumb.c b/drivers/gpu/drm/qxl/qxl_dumb.c
index 5e65d5d..a0c9e73 100644
--- a/drivers/gpu/drm/qxl/qxl_dumb.c
+++ b/drivers/gpu/drm/qxl/qxl_dumb.c
@@ -81,6 +81,6 @@ int qxl_mode_dumb_mmap(struct drm_file *file_priv,
return -ENOENT;
qobj = gem_to_qxl_bo(gobj);
*offset_p = qxl_bo_mmap_offset(qobj);
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
return 0;
 }
diff --git a/drivers/gpu/drm/qxl/qxl_fb.c b/drivers/gpu/drm/qxl/qxl_fb.c
index 844c4a3..52903ef 100644
--- a/drivers/gpu/drm/qxl/qxl_fb.c
+++ b/drivers/gpu/drm/qxl/qxl_fb.c
@@ -95,7 +95,7 @@ static void qxlfb_destroy_pinned_object(struct drm_gem_object 
*gobj)
qxl_bo_kunmap(qbo);
qxl_bo_unpin(qbo);
 
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
 }
 
 int qxl_get_handle_for_primary_fb(struct qxl_device *qdev,
@@ -319,11 +319,11 @@ static int qxlfb_create(struct qxl_fbdev *qfbdev,
qxl_bo_unpin(qbo);
}
if (fb && ret) {
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
drm_framebuffer_cleanup(fb);
kfree(fb);
}
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
return ret;
 }
 
diff --git a/drivers/gpu/drm/qxl/qxl_gem.c b/drivers/gpu/drm/qxl/qxl_gem.c
index 85f5467..f5c1e78 100644
--- a/drivers/gpu/drm/qxl/qxl_gem.c
+++ b/drivers/gpu/drm/qxl/qxl_gem.c
@@ -98,7 +98,7 @@ int qxl_gem_object_create_with_handle(struct qxl_device *qdev,
return r;
/* drop reference from allocate - handle holds it now */
*qobj = gem_to_qxl_bo(gobj);
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
return 0;
 }
 
diff --git a/drivers/gpu/drm/qxl/qxl_ioctl.c b/drivers/gpu/drm/qxl/qxl_ioctl.c
index 31effed..7b141db 100644
--- a/drivers/gpu/drm/qxl/qxl_ioctl.c
+++ b/drivers/gpu/drm/qxl/qxl_ioctl.c
@@ -121,7 +121,7 @@ static int qxlhw_handle_to_bo(struct drm_file *file_priv, 
uint64_t handle,
qobj = gem_to_qxl_bo(gobj);
 
ret = qxl_release_list_add(release, qobj);
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
if (ret)
return ret;
 
@@ -343,7 +343,7 @@ static int qxl_update_area_ioctl(struct drm_device *dev, 
void *data,
qxl_bo_unreserve(qobj);
 
 out:
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
return ret;
 }
 
diff --git a/drivers/gpu/drm/qxl/qxl_object.c b/drivers/gpu/drm/qxl/qxl_object.c
index 0a67ddf..c4aebcf 100644
--- a/drivers/gpu/drm/qxl/qxl_object.c
+++ b/drivers/gpu/drm/qxl/qxl_object.c
@@ -211,13 +211,13 @@ void qxl_bo_unref(struct qxl_bo **bo)
if ((*bo) == NULL)
return;
 
-   drm_gem_object_unreference_unlocked(&(*bo)->gem_base);
+   drm_gem_object_put_unlocked(&(*bo)->gem_base);
*bo = NULL;
 }
 
 struct qxl_bo *qxl_bo_ref(struct qxl_bo *bo)
 {
-   drm_gem_object_reference(>gem_base);
+   drm_gem_object_get(>gem_base);
return bo;
 }
 
@@ -316,7 +316,7 @@ void qxl_bo_force_delete(struct qxl_device *q

[PATCH v3 18/28] drm/qxl: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/qxl/qxl_display.c | 4 ++--
 drivers/gpu/drm/qxl/qxl_dumb.c| 2 +-
 drivers/gpu/drm/qxl/qxl_fb.c  | 6 +++---
 drivers/gpu/drm/qxl/qxl_gem.c | 2 +-
 drivers/gpu/drm/qxl/qxl_ioctl.c   | 4 ++--
 drivers/gpu/drm/qxl/qxl_object.c  | 6 +++---
 6 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/qxl/qxl_display.c 
b/drivers/gpu/drm/qxl/qxl_display.c
index 14c5613..a54a766 100644
--- a/drivers/gpu/drm/qxl/qxl_display.c
+++ b/drivers/gpu/drm/qxl/qxl_display.c
@@ -306,7 +306,7 @@ void qxl_user_framebuffer_destroy(struct drm_framebuffer 
*fb)
 {
struct qxl_framebuffer *qxl_fb = to_qxl_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(qxl_fb->obj);
+   drm_gem_object_put_unlocked(qxl_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(qxl_fb);
 }
@@ -1106,7 +1106,7 @@ qxl_user_framebuffer_create(struct drm_device *dev,
ret = qxl_framebuffer_init(dev, qxl_fb, mode_cmd, obj, _fb_funcs);
if (ret) {
kfree(qxl_fb);
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return NULL;
}
 
diff --git a/drivers/gpu/drm/qxl/qxl_dumb.c b/drivers/gpu/drm/qxl/qxl_dumb.c
index 5e65d5d..a0c9e73 100644
--- a/drivers/gpu/drm/qxl/qxl_dumb.c
+++ b/drivers/gpu/drm/qxl/qxl_dumb.c
@@ -81,6 +81,6 @@ int qxl_mode_dumb_mmap(struct drm_file *file_priv,
return -ENOENT;
qobj = gem_to_qxl_bo(gobj);
*offset_p = qxl_bo_mmap_offset(qobj);
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
return 0;
 }
diff --git a/drivers/gpu/drm/qxl/qxl_fb.c b/drivers/gpu/drm/qxl/qxl_fb.c
index 844c4a3..52903ef 100644
--- a/drivers/gpu/drm/qxl/qxl_fb.c
+++ b/drivers/gpu/drm/qxl/qxl_fb.c
@@ -95,7 +95,7 @@ static void qxlfb_destroy_pinned_object(struct drm_gem_object 
*gobj)
qxl_bo_kunmap(qbo);
qxl_bo_unpin(qbo);
 
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
 }
 
 int qxl_get_handle_for_primary_fb(struct qxl_device *qdev,
@@ -319,11 +319,11 @@ static int qxlfb_create(struct qxl_fbdev *qfbdev,
qxl_bo_unpin(qbo);
}
if (fb && ret) {
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
drm_framebuffer_cleanup(fb);
kfree(fb);
}
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
return ret;
 }
 
diff --git a/drivers/gpu/drm/qxl/qxl_gem.c b/drivers/gpu/drm/qxl/qxl_gem.c
index 85f5467..f5c1e78 100644
--- a/drivers/gpu/drm/qxl/qxl_gem.c
+++ b/drivers/gpu/drm/qxl/qxl_gem.c
@@ -98,7 +98,7 @@ int qxl_gem_object_create_with_handle(struct qxl_device *qdev,
return r;
/* drop reference from allocate - handle holds it now */
*qobj = gem_to_qxl_bo(gobj);
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
return 0;
 }
 
diff --git a/drivers/gpu/drm/qxl/qxl_ioctl.c b/drivers/gpu/drm/qxl/qxl_ioctl.c
index 31effed..7b141db 100644
--- a/drivers/gpu/drm/qxl/qxl_ioctl.c
+++ b/drivers/gpu/drm/qxl/qxl_ioctl.c
@@ -121,7 +121,7 @@ static int qxlhw_handle_to_bo(struct drm_file *file_priv, 
uint64_t handle,
qobj = gem_to_qxl_bo(gobj);
 
ret = qxl_release_list_add(release, qobj);
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
if (ret)
return ret;
 
@@ -343,7 +343,7 @@ static int qxl_update_area_ioctl(struct drm_device *dev, 
void *data,
qxl_bo_unreserve(qobj);
 
 out:
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
return ret;
 }
 
diff --git a/drivers/gpu/drm/qxl/qxl_object.c b/drivers/gpu/drm/qxl/qxl_object.c
index 0a67ddf..c4aebcf 100644
--- a/drivers/gpu/drm/qxl/qxl_object.c
+++ b/drivers/gpu/drm/qxl/qxl_object.c
@@ -211,13 +211,13 @@ void qxl_bo_unref(struct qxl_bo **bo)
if ((*bo) == NULL)
return;
 
-   drm_gem_object_unreference_unlocked(&(*bo)->gem_base);
+   drm_gem_object_put_unlocked(&(*bo)->gem_base);
*bo = NULL;
 }
 
 struct qxl_bo *qxl_bo_ref(struct qxl_bo *bo)
 {
-   drm_gem_object_reference(>gem_base);
+   drm_gem_object_get(>gem_base);
return bo;
 }
 
@@ -316,7 +316,7 @@ void qxl_bo_force_delete(struct qxl_device *qdev)
 

[PATCH v3 23/28] drm/udl: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/udl/udl_fb.c  | 6 +++---
 drivers/gpu/drm/udl/udl_gem.c | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/udl/udl_fb.c b/drivers/gpu/drm/udl/udl_fb.c
index 77a2c59..b7ca90d 100644
--- a/drivers/gpu/drm/udl/udl_fb.c
+++ b/drivers/gpu/drm/udl/udl_fb.c
@@ -309,7 +309,7 @@ static void udl_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
struct udl_framebuffer *ufb = to_udl_fb(fb);
 
if (ufb->obj)
-   drm_gem_object_unreference_unlocked(>obj->base);
+   drm_gem_object_put_unlocked(>obj->base);
 
drm_framebuffer_cleanup(fb);
kfree(ufb);
@@ -403,7 +403,7 @@ static int udlfb_create(struct drm_fb_helper *helper,
 
return ret;
 out_gfree:
-   drm_gem_object_unreference_unlocked(>ufb.obj->base);
+   drm_gem_object_put_unlocked(>ufb.obj->base);
 out:
return ret;
 }
@@ -419,7 +419,7 @@ static void udl_fbdev_destroy(struct drm_device *dev,
drm_fb_helper_fini(>helper);
drm_framebuffer_unregister_private(>ufb.base);
drm_framebuffer_cleanup(>ufb.base);
-   drm_gem_object_unreference_unlocked(>ufb.obj->base);
+   drm_gem_object_put_unlocked(>ufb.obj->base);
 }
 
 int udl_fbdev_init(struct drm_device *dev)
diff --git a/drivers/gpu/drm/udl/udl_gem.c b/drivers/gpu/drm/udl/udl_gem.c
index db9cece..dee6bd9 100644
--- a/drivers/gpu/drm/udl/udl_gem.c
+++ b/drivers/gpu/drm/udl/udl_gem.c
@@ -52,7 +52,7 @@ udl_gem_create(struct drm_file *file,
return ret;
}
 
-   drm_gem_object_unreference_unlocked(>base);
+   drm_gem_object_put_unlocked(>base);
*handle_p = handle;
return 0;
 }
@@ -234,7 +234,7 @@ int udl_gem_mmap(struct drm_file *file, struct drm_device 
*dev,
*offset = drm_vma_node_offset_addr(>base.vma_node);
 
 out:
-   drm_gem_object_unreference(>base);
+   drm_gem_object_put(>base);
 unlock:
mutex_unlock(>struct_mutex);
return ret;
-- 
2.7.4



[PATCH v3 23/28] drm/udl: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/udl/udl_fb.c  | 6 +++---
 drivers/gpu/drm/udl/udl_gem.c | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/udl/udl_fb.c b/drivers/gpu/drm/udl/udl_fb.c
index 77a2c59..b7ca90d 100644
--- a/drivers/gpu/drm/udl/udl_fb.c
+++ b/drivers/gpu/drm/udl/udl_fb.c
@@ -309,7 +309,7 @@ static void udl_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
struct udl_framebuffer *ufb = to_udl_fb(fb);
 
if (ufb->obj)
-   drm_gem_object_unreference_unlocked(>obj->base);
+   drm_gem_object_put_unlocked(>obj->base);
 
drm_framebuffer_cleanup(fb);
kfree(ufb);
@@ -403,7 +403,7 @@ static int udlfb_create(struct drm_fb_helper *helper,
 
return ret;
 out_gfree:
-   drm_gem_object_unreference_unlocked(>ufb.obj->base);
+   drm_gem_object_put_unlocked(>ufb.obj->base);
 out:
return ret;
 }
@@ -419,7 +419,7 @@ static void udl_fbdev_destroy(struct drm_device *dev,
drm_fb_helper_fini(>helper);
drm_framebuffer_unregister_private(>ufb.base);
drm_framebuffer_cleanup(>ufb.base);
-   drm_gem_object_unreference_unlocked(>ufb.obj->base);
+   drm_gem_object_put_unlocked(>ufb.obj->base);
 }
 
 int udl_fbdev_init(struct drm_device *dev)
diff --git a/drivers/gpu/drm/udl/udl_gem.c b/drivers/gpu/drm/udl/udl_gem.c
index db9cece..dee6bd9 100644
--- a/drivers/gpu/drm/udl/udl_gem.c
+++ b/drivers/gpu/drm/udl/udl_gem.c
@@ -52,7 +52,7 @@ udl_gem_create(struct drm_file *file,
return ret;
}
 
-   drm_gem_object_unreference_unlocked(>base);
+   drm_gem_object_put_unlocked(>base);
*handle_p = handle;
return 0;
 }
@@ -234,7 +234,7 @@ int udl_gem_mmap(struct drm_file *file, struct drm_device 
*dev,
*offset = drm_vma_node_offset_addr(>base.vma_node);
 
 out:
-   drm_gem_object_unreference(>base);
+   drm_gem_object_put(>base);
 unlock:
mutex_unlock(>struct_mutex);
return ret;
-- 
2.7.4



[PATCH v3 15/28] drm/msm: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 10 +-
 drivers/gpu/drm/msm/adreno/a5xx_power.c   |  2 +-
 drivers/gpu/drm/msm/adreno/adreno_gpu.c   |  2 +-
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c  |  6 +++---
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c   |  2 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c  |  2 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c |  4 ++--
 drivers/gpu/drm/msm/msm_drv.c |  8 
 drivers/gpu/drm/msm/msm_fb.c  |  4 ++--
 drivers/gpu/drm/msm/msm_fbdev.c   |  2 +-
 drivers/gpu/drm/msm/msm_gem.c |  8 
 drivers/gpu/drm/msm/msm_gem_submit.c  |  4 ++--
 drivers/gpu/drm/msm/msm_gpu.c |  4 ++--
 drivers/gpu/drm/msm/msm_ringbuffer.c  |  2 +-
 14 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c 
b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c
index b4b54f1..12d0f9c 100644
--- a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c
+++ b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c
@@ -303,7 +303,7 @@ static struct drm_gem_object *a5xx_ucode_load_bo(struct 
msm_gpu *gpu,
 
ptr = msm_gem_get_vaddr(bo);
if (!ptr) {
-   drm_gem_object_unreference(bo);
+   drm_gem_object_put(bo);
return ERR_PTR(-ENOMEM);
}
 
@@ -311,7 +311,7 @@ static struct drm_gem_object *a5xx_ucode_load_bo(struct 
msm_gpu *gpu,
int ret = msm_gem_get_iova(bo, gpu->aspace, iova);
 
if (ret) {
-   drm_gem_object_unreference(bo);
+   drm_gem_object_put(bo);
return ERR_PTR(ret);
}
}
@@ -697,19 +697,19 @@ static void a5xx_destroy(struct msm_gpu *gpu)
if (a5xx_gpu->pm4_bo) {
if (a5xx_gpu->pm4_iova)
msm_gem_put_iova(a5xx_gpu->pm4_bo, gpu->aspace);
-   drm_gem_object_unreference_unlocked(a5xx_gpu->pm4_bo);
+   drm_gem_object_put_unlocked(a5xx_gpu->pm4_bo);
}
 
if (a5xx_gpu->pfp_bo) {
if (a5xx_gpu->pfp_iova)
msm_gem_put_iova(a5xx_gpu->pfp_bo, gpu->aspace);
-   drm_gem_object_unreference_unlocked(a5xx_gpu->pfp_bo);
+   drm_gem_object_put_unlocked(a5xx_gpu->pfp_bo);
}
 
if (a5xx_gpu->gpmu_bo) {
if (a5xx_gpu->gpmu_iova)
msm_gem_put_iova(a5xx_gpu->gpmu_bo, gpu->aspace);
-   drm_gem_object_unreference_unlocked(a5xx_gpu->gpmu_bo);
+   drm_gem_object_put_unlocked(a5xx_gpu->gpmu_bo);
}
 
adreno_gpu_cleanup(adreno_gpu);
diff --git a/drivers/gpu/drm/msm/adreno/a5xx_power.c 
b/drivers/gpu/drm/msm/adreno/a5xx_power.c
index 87af6ee..620 100644
--- a/drivers/gpu/drm/msm/adreno/a5xx_power.c
+++ b/drivers/gpu/drm/msm/adreno/a5xx_power.c
@@ -330,7 +330,7 @@ void a5xx_gpmu_ucode_init(struct msm_gpu *gpu)
if (a5xx_gpu->gpmu_iova)
msm_gem_put_iova(a5xx_gpu->gpmu_bo, gpu->aspace);
if (a5xx_gpu->gpmu_bo)
-   drm_gem_object_unreference(a5xx_gpu->gpmu_bo);
+   drm_gem_object_put(a5xx_gpu->gpmu_bo);
 
a5xx_gpu->gpmu_bo = NULL;
a5xx_gpu->gpmu_iova = 0;
diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c 
b/drivers/gpu/drm/msm/adreno/adreno_gpu.c
index f1ab270..15de821 100644
--- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c
+++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c
@@ -433,7 +433,7 @@ void adreno_gpu_cleanup(struct adreno_gpu *adreno_gpu)
if (adreno_gpu->memptrs_iova)
msm_gem_put_iova(adreno_gpu->memptrs_bo, gpu->aspace);
 
-   drm_gem_object_unreference_unlocked(adreno_gpu->memptrs_bo);
+   drm_gem_object_put_unlocked(adreno_gpu->memptrs_bo);
}
release_firmware(adreno_gpu->pm4);
release_firmware(adreno_gpu->pfp);
diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c 
b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
index 47fa2ab..5d4aba1 100644
--- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
+++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
@@ -129,7 +129,7 @@ static void unref_cursor_worker(struct drm_flip_work *work, 
void *val)
struct msm_kms *kms = _kms->base.base;
 
msm_gem_put_iova(val, kms->aspace);
-   drm_gem_object_unreference_unlocked(val);
+   drm_gem_object_put_unlocked(val);
 }
 
 static

[PATCH v3 15/28] drm/msm: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 10 +-
 drivers/gpu/drm/msm/adreno/a5xx_power.c   |  2 +-
 drivers/gpu/drm/msm/adreno/adreno_gpu.c   |  2 +-
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c  |  6 +++---
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c   |  2 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c  |  2 +-
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c |  4 ++--
 drivers/gpu/drm/msm/msm_drv.c |  8 
 drivers/gpu/drm/msm/msm_fb.c  |  4 ++--
 drivers/gpu/drm/msm/msm_fbdev.c   |  2 +-
 drivers/gpu/drm/msm/msm_gem.c |  8 
 drivers/gpu/drm/msm/msm_gem_submit.c  |  4 ++--
 drivers/gpu/drm/msm/msm_gpu.c |  4 ++--
 drivers/gpu/drm/msm/msm_ringbuffer.c  |  2 +-
 14 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c 
b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c
index b4b54f1..12d0f9c 100644
--- a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c
+++ b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c
@@ -303,7 +303,7 @@ static struct drm_gem_object *a5xx_ucode_load_bo(struct 
msm_gpu *gpu,
 
ptr = msm_gem_get_vaddr(bo);
if (!ptr) {
-   drm_gem_object_unreference(bo);
+   drm_gem_object_put(bo);
return ERR_PTR(-ENOMEM);
}
 
@@ -311,7 +311,7 @@ static struct drm_gem_object *a5xx_ucode_load_bo(struct 
msm_gpu *gpu,
int ret = msm_gem_get_iova(bo, gpu->aspace, iova);
 
if (ret) {
-   drm_gem_object_unreference(bo);
+   drm_gem_object_put(bo);
return ERR_PTR(ret);
}
}
@@ -697,19 +697,19 @@ static void a5xx_destroy(struct msm_gpu *gpu)
if (a5xx_gpu->pm4_bo) {
if (a5xx_gpu->pm4_iova)
msm_gem_put_iova(a5xx_gpu->pm4_bo, gpu->aspace);
-   drm_gem_object_unreference_unlocked(a5xx_gpu->pm4_bo);
+   drm_gem_object_put_unlocked(a5xx_gpu->pm4_bo);
}
 
if (a5xx_gpu->pfp_bo) {
if (a5xx_gpu->pfp_iova)
msm_gem_put_iova(a5xx_gpu->pfp_bo, gpu->aspace);
-   drm_gem_object_unreference_unlocked(a5xx_gpu->pfp_bo);
+   drm_gem_object_put_unlocked(a5xx_gpu->pfp_bo);
}
 
if (a5xx_gpu->gpmu_bo) {
if (a5xx_gpu->gpmu_iova)
msm_gem_put_iova(a5xx_gpu->gpmu_bo, gpu->aspace);
-   drm_gem_object_unreference_unlocked(a5xx_gpu->gpmu_bo);
+   drm_gem_object_put_unlocked(a5xx_gpu->gpmu_bo);
}
 
adreno_gpu_cleanup(adreno_gpu);
diff --git a/drivers/gpu/drm/msm/adreno/a5xx_power.c 
b/drivers/gpu/drm/msm/adreno/a5xx_power.c
index 87af6ee..620 100644
--- a/drivers/gpu/drm/msm/adreno/a5xx_power.c
+++ b/drivers/gpu/drm/msm/adreno/a5xx_power.c
@@ -330,7 +330,7 @@ void a5xx_gpmu_ucode_init(struct msm_gpu *gpu)
if (a5xx_gpu->gpmu_iova)
msm_gem_put_iova(a5xx_gpu->gpmu_bo, gpu->aspace);
if (a5xx_gpu->gpmu_bo)
-   drm_gem_object_unreference(a5xx_gpu->gpmu_bo);
+   drm_gem_object_put(a5xx_gpu->gpmu_bo);
 
a5xx_gpu->gpmu_bo = NULL;
a5xx_gpu->gpmu_iova = 0;
diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c 
b/drivers/gpu/drm/msm/adreno/adreno_gpu.c
index f1ab270..15de821 100644
--- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c
+++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c
@@ -433,7 +433,7 @@ void adreno_gpu_cleanup(struct adreno_gpu *adreno_gpu)
if (adreno_gpu->memptrs_iova)
msm_gem_put_iova(adreno_gpu->memptrs_bo, gpu->aspace);
 
-   drm_gem_object_unreference_unlocked(adreno_gpu->memptrs_bo);
+   drm_gem_object_put_unlocked(adreno_gpu->memptrs_bo);
}
release_firmware(adreno_gpu->pm4);
release_firmware(adreno_gpu->pfp);
diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c 
b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
index 47fa2ab..5d4aba1 100644
--- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
+++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c
@@ -129,7 +129,7 @@ static void unref_cursor_worker(struct drm_flip_work *work, 
void *val)
struct msm_kms *kms = _kms->base.base;
 
msm_gem_put_iova(val, kms->aspace);
-   drm_gem_object_unreference_unlocked(val);
+   drm_gem_object_put_unlocked(val);
 }
 
 static void mdp4_crtc_destroy(struct drm_cr

[PATCH v3 22/28] drm/tilcdc: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
Acked-by: Jyri Sarha <jsa...@ti.com>
---
 drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c 
b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
index 406fe45..d2589f310 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
@@ -75,7 +75,7 @@ static void unref_worker(struct drm_flip_work *work, void 
*val)
struct drm_device *dev = tilcdc_crtc->base.dev;
 
mutex_lock(>mode_config.mutex);
-   drm_framebuffer_unreference(val);
+   drm_framebuffer_put(val);
mutex_unlock(>mode_config.mutex);
 }
 
@@ -456,7 +456,7 @@ static void tilcdc_crtc_set_mode(struct drm_crtc *crtc)
 
set_scanout(crtc, fb);
 
-   drm_framebuffer_reference(fb);
+   drm_framebuffer_get(fb);
 
crtc->hwmode = crtc->state->adjusted_mode;
 }
@@ -633,7 +633,7 @@ int tilcdc_crtc_update_fb(struct drm_crtc *crtc,
return -EBUSY;
}
 
-   drm_framebuffer_reference(fb);
+   drm_framebuffer_get(fb);
 
crtc->primary->fb = fb;
tilcdc_crtc->event = event;
-- 
2.7.4



[PATCH v3 22/28] drm/tilcdc: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
Acked-by: Jyri Sarha 
---
 drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c 
b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
index 406fe45..d2589f310 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
@@ -75,7 +75,7 @@ static void unref_worker(struct drm_flip_work *work, void 
*val)
struct drm_device *dev = tilcdc_crtc->base.dev;
 
mutex_lock(>mode_config.mutex);
-   drm_framebuffer_unreference(val);
+   drm_framebuffer_put(val);
mutex_unlock(>mode_config.mutex);
 }
 
@@ -456,7 +456,7 @@ static void tilcdc_crtc_set_mode(struct drm_crtc *crtc)
 
set_scanout(crtc, fb);
 
-   drm_framebuffer_reference(fb);
+   drm_framebuffer_get(fb);
 
crtc->hwmode = crtc->state->adjusted_mode;
 }
@@ -633,7 +633,7 @@ int tilcdc_crtc_update_fb(struct drm_crtc *crtc,
return -EBUSY;
}
 
-   drm_framebuffer_reference(fb);
+   drm_framebuffer_get(fb);
 
crtc->primary->fb = fb;
tilcdc_crtc->event = event;
-- 
2.7.4



[PATCH v3 20/28] drm/rockchip: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/rockchip/rockchip_drm_fb.c| 6 +++---
 drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c | 2 +-
 drivers/gpu/drm/rockchip/rockchip_drm_gem.c   | 2 +-
 drivers/gpu/drm/rockchip/rockchip_drm_vop.c   | 4 ++--
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_fb.c 
b/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
index 8a0f756..7077304 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
@@ -48,7 +48,7 @@ static void rockchip_drm_fb_destroy(struct drm_framebuffer 
*fb)
int i;
 
for (i = 0; i < ROCKCHIP_MAX_FB_BUFFER; i++)
-   drm_gem_object_unreference_unlocked(rockchip_fb->obj[i]);
+   drm_gem_object_put_unlocked(rockchip_fb->obj[i]);
 
drm_framebuffer_cleanup(fb);
kfree(rockchip_fb);
@@ -144,7 +144,7 @@ rockchip_user_fb_create(struct drm_device *dev, struct 
drm_file *file_priv,
width * drm_format_plane_cpp(mode_cmd->pixel_format, i);
 
if (obj->size < min_size) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
ret = -EINVAL;
goto err_gem_object_unreference;
}
@@ -161,7 +161,7 @@ rockchip_user_fb_create(struct drm_device *dev, struct 
drm_file *file_priv,
 
 err_gem_object_unreference:
for (i--; i >= 0; i--)
-   drm_gem_object_unreference_unlocked(objs[i]);
+   drm_gem_object_put_unlocked(objs[i]);
return ERR_PTR(ret);
 }
 
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c 
b/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c
index ce946b9..724579e 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c
@@ -173,7 +173,7 @@ void rockchip_drm_fbdev_fini(struct drm_device *dev)
drm_fb_helper_unregister_fbi(helper);
 
if (helper->fb)
-   drm_framebuffer_unreference(helper->fb);
+   drm_framebuffer_put(helper->fb);
 
drm_fb_helper_fini(helper);
 }
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c 
b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
index f74333e..1869c8b 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
@@ -383,7 +383,7 @@ rockchip_gem_create_with_handle(struct drm_file *file_priv,
goto err_handle_create;
 
/* drop reference from allocate - handle holds it now. */
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return rk_obj;
 
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c 
b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
index 948719d..bf9ed0e 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
@@ -1026,7 +1026,7 @@ static void vop_crtc_atomic_flush(struct drm_crtc *crtc,
if (old_plane_state->fb == new_plane_state->fb)
continue;
 
-   drm_framebuffer_reference(old_plane_state->fb);
+   drm_framebuffer_get(old_plane_state->fb);
drm_flip_work_queue(>fb_unref_work, old_plane_state->fb);
set_bit(VOP_PENDING_FB_UNREF, >pending);
WARN_ON(drm_crtc_vblank_get(crtc) != 0);
@@ -1150,7 +1150,7 @@ static void vop_fb_unref_worker(struct drm_flip_work 
*work, void *val)
struct drm_framebuffer *fb = val;
 
drm_crtc_vblank_put(>crtc);
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
 }
 
 static void vop_handle_vblank(struct vop *vop)
-- 
2.7.4



[PATCH v3 20/28] drm/rockchip: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/rockchip/rockchip_drm_fb.c| 6 +++---
 drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c | 2 +-
 drivers/gpu/drm/rockchip/rockchip_drm_gem.c   | 2 +-
 drivers/gpu/drm/rockchip/rockchip_drm_vop.c   | 4 ++--
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_fb.c 
b/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
index 8a0f756..7077304 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_fb.c
@@ -48,7 +48,7 @@ static void rockchip_drm_fb_destroy(struct drm_framebuffer 
*fb)
int i;
 
for (i = 0; i < ROCKCHIP_MAX_FB_BUFFER; i++)
-   drm_gem_object_unreference_unlocked(rockchip_fb->obj[i]);
+   drm_gem_object_put_unlocked(rockchip_fb->obj[i]);
 
drm_framebuffer_cleanup(fb);
kfree(rockchip_fb);
@@ -144,7 +144,7 @@ rockchip_user_fb_create(struct drm_device *dev, struct 
drm_file *file_priv,
width * drm_format_plane_cpp(mode_cmd->pixel_format, i);
 
if (obj->size < min_size) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
ret = -EINVAL;
goto err_gem_object_unreference;
}
@@ -161,7 +161,7 @@ rockchip_user_fb_create(struct drm_device *dev, struct 
drm_file *file_priv,
 
 err_gem_object_unreference:
for (i--; i >= 0; i--)
-   drm_gem_object_unreference_unlocked(objs[i]);
+   drm_gem_object_put_unlocked(objs[i]);
return ERR_PTR(ret);
 }
 
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c 
b/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c
index ce946b9..724579e 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c
@@ -173,7 +173,7 @@ void rockchip_drm_fbdev_fini(struct drm_device *dev)
drm_fb_helper_unregister_fbi(helper);
 
if (helper->fb)
-   drm_framebuffer_unreference(helper->fb);
+   drm_framebuffer_put(helper->fb);
 
drm_fb_helper_fini(helper);
 }
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c 
b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
index f74333e..1869c8b 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
@@ -383,7 +383,7 @@ rockchip_gem_create_with_handle(struct drm_file *file_priv,
goto err_handle_create;
 
/* drop reference from allocate - handle holds it now. */
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return rk_obj;
 
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c 
b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
index 948719d..bf9ed0e 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
@@ -1026,7 +1026,7 @@ static void vop_crtc_atomic_flush(struct drm_crtc *crtc,
if (old_plane_state->fb == new_plane_state->fb)
continue;
 
-   drm_framebuffer_reference(old_plane_state->fb);
+   drm_framebuffer_get(old_plane_state->fb);
drm_flip_work_queue(>fb_unref_work, old_plane_state->fb);
set_bit(VOP_PENDING_FB_UNREF, >pending);
WARN_ON(drm_crtc_vblank_get(crtc) != 0);
@@ -1150,7 +1150,7 @@ static void vop_fb_unref_worker(struct drm_flip_work 
*work, void *val)
struct drm_framebuffer *fb = val;
 
drm_crtc_vblank_put(>crtc);
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
 }
 
 static void vop_handle_vblank(struct vop *vop)
-- 
2.7.4



[PATCH v3 21/28] drm/tegra: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/tegra/drm.c | 12 ++--
 drivers/gpu/drm/tegra/fb.c  |  8 
 drivers/gpu/drm/tegra/gem.c | 10 +-
 3 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
index 3ba659a..e70c67b 100644
--- a/drivers/gpu/drm/tegra/drm.c
+++ b/drivers/gpu/drm/tegra/drm.c
@@ -306,7 +306,7 @@ host1x_bo_lookup(struct drm_file *file, u32 handle)
if (!gem)
return NULL;
 
-   drm_gem_object_unreference_unlocked(gem);
+   drm_gem_object_put_unlocked(gem);
 
bo = to_tegra_bo(gem);
return >base;
@@ -593,7 +593,7 @@ static int tegra_gem_mmap(struct drm_device *drm, void 
*data,
 
args->offset = drm_vma_node_offset_addr(>gem.vma_node);
 
-   drm_gem_object_unreference_unlocked(gem);
+   drm_gem_object_put_unlocked(gem);
 
return 0;
 }
@@ -860,7 +860,7 @@ static int tegra_gem_set_tiling(struct drm_device *drm, 
void *data,
bo->tiling.mode = mode;
bo->tiling.value = value;
 
-   drm_gem_object_unreference_unlocked(gem);
+   drm_gem_object_put_unlocked(gem);
 
return 0;
 }
@@ -900,7 +900,7 @@ static int tegra_gem_get_tiling(struct drm_device *drm, 
void *data,
break;
}
 
-   drm_gem_object_unreference_unlocked(gem);
+   drm_gem_object_put_unlocked(gem);
 
return err;
 }
@@ -925,7 +925,7 @@ static int tegra_gem_set_flags(struct drm_device *drm, void 
*data,
if (args->flags & DRM_TEGRA_GEM_BOTTOM_UP)
bo->flags |= TEGRA_BO_BOTTOM_UP;
 
-   drm_gem_object_unreference_unlocked(gem);
+   drm_gem_object_put_unlocked(gem);
 
return 0;
 }
@@ -947,7 +947,7 @@ static int tegra_gem_get_flags(struct drm_device *drm, void 
*data,
if (bo->flags & TEGRA_BO_BOTTOM_UP)
args->flags |= DRM_TEGRA_GEM_BOTTOM_UP;
 
-   drm_gem_object_unreference_unlocked(gem);
+   drm_gem_object_put_unlocked(gem);
 
return 0;
 }
diff --git a/drivers/gpu/drm/tegra/fb.c b/drivers/gpu/drm/tegra/fb.c
index 25acb73..80540c1 100644
--- a/drivers/gpu/drm/tegra/fb.c
+++ b/drivers/gpu/drm/tegra/fb.c
@@ -88,7 +88,7 @@ static void tegra_fb_destroy(struct drm_framebuffer 
*framebuffer)
if (bo->pages)
vunmap(bo->vaddr);
 
-   drm_gem_object_unreference_unlocked(>gem);
+   drm_gem_object_put_unlocked(>gem);
}
}
 
@@ -195,7 +195,7 @@ struct drm_framebuffer *tegra_fb_create(struct drm_device 
*drm,
 
 unreference:
while (i--)
-   drm_gem_object_unreference_unlocked([i]->gem);
+   drm_gem_object_put_unlocked([i]->gem);
 
return ERR_PTR(err);
 }
@@ -242,7 +242,7 @@ static int tegra_fbdev_probe(struct drm_fb_helper *helper,
info = drm_fb_helper_alloc_fbi(helper);
if (IS_ERR(info)) {
dev_err(drm->dev, "failed to allocate framebuffer info\n");
-   drm_gem_object_unreference_unlocked(>gem);
+   drm_gem_object_put_unlocked(>gem);
return PTR_ERR(info);
}
 
@@ -251,7 +251,7 @@ static int tegra_fbdev_probe(struct drm_fb_helper *helper,
err = PTR_ERR(fbdev->fb);
dev_err(drm->dev, "failed to allocate DRM framebuffer: %d\n",
err);
-   drm_gem_object_unreference_unlocked(>gem);
+   drm_gem_object_put_unlocked(>gem);
return PTR_ERR(fbdev->fb);
}
 
diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c
index 7a39a35..fe77bcd 100644
--- a/drivers/gpu/drm/tegra/gem.c
+++ b/drivers/gpu/drm/tegra/gem.c
@@ -24,7 +24,7 @@ static void tegra_bo_put(struct host1x_bo *bo)
 {
struct tegra_bo *obj = host1x_to_tegra_bo(bo);
 
-   drm_gem_object_unreference_unlocked(>gem);
+   drm_gem_object_put_unlocked(>gem);
 }
 
 static dma_addr_t tegra_bo_pin(struct host1x_bo *bo, struct sg_table **sgt)
@@ -95,7 +95,7 @@ static struct host1x_bo *tegra_bo_get(struct host1x_bo *bo)
 {
struct tegra_bo *obj = host1x_to_tegra_bo(bo);
 
-   drm_gem_object_reference(>gem);
+   drm_gem_object_get(>gem);
 
return bo;
 }
@@ -325,7 +325,7 @@ struct tegra_bo *tegra_bo_create_with_handle(struct 
drm_file *file,
return ERR_PTR(err);
}
 
-   drm_gem_object_unr

[PATCH v3 24/28] drm/vc4: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/vc4/vc4_bo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c
index facee39..3afdbf4 100644
--- a/drivers/gpu/drm/vc4/vc4_bo.c
+++ b/drivers/gpu/drm/vc4/vc4_bo.c
@@ -830,7 +830,7 @@ int vc4_label_bo_ioctl(struct drm_device *dev, void *data,
ret = -ENOMEM;
mutex_unlock(>bo_lock);
 
-   drm_gem_object_unreference_unlocked(gem_obj);
+   drm_gem_object_put_unlocked(gem_obj);
 
return ret;
 }
-- 
2.7.4



[PATCH v3 21/28] drm/tegra: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/tegra/drm.c | 12 ++--
 drivers/gpu/drm/tegra/fb.c  |  8 
 drivers/gpu/drm/tegra/gem.c | 10 +-
 3 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
index 3ba659a..e70c67b 100644
--- a/drivers/gpu/drm/tegra/drm.c
+++ b/drivers/gpu/drm/tegra/drm.c
@@ -306,7 +306,7 @@ host1x_bo_lookup(struct drm_file *file, u32 handle)
if (!gem)
return NULL;
 
-   drm_gem_object_unreference_unlocked(gem);
+   drm_gem_object_put_unlocked(gem);
 
bo = to_tegra_bo(gem);
return >base;
@@ -593,7 +593,7 @@ static int tegra_gem_mmap(struct drm_device *drm, void 
*data,
 
args->offset = drm_vma_node_offset_addr(>gem.vma_node);
 
-   drm_gem_object_unreference_unlocked(gem);
+   drm_gem_object_put_unlocked(gem);
 
return 0;
 }
@@ -860,7 +860,7 @@ static int tegra_gem_set_tiling(struct drm_device *drm, 
void *data,
bo->tiling.mode = mode;
bo->tiling.value = value;
 
-   drm_gem_object_unreference_unlocked(gem);
+   drm_gem_object_put_unlocked(gem);
 
return 0;
 }
@@ -900,7 +900,7 @@ static int tegra_gem_get_tiling(struct drm_device *drm, 
void *data,
break;
}
 
-   drm_gem_object_unreference_unlocked(gem);
+   drm_gem_object_put_unlocked(gem);
 
return err;
 }
@@ -925,7 +925,7 @@ static int tegra_gem_set_flags(struct drm_device *drm, void 
*data,
if (args->flags & DRM_TEGRA_GEM_BOTTOM_UP)
bo->flags |= TEGRA_BO_BOTTOM_UP;
 
-   drm_gem_object_unreference_unlocked(gem);
+   drm_gem_object_put_unlocked(gem);
 
return 0;
 }
@@ -947,7 +947,7 @@ static int tegra_gem_get_flags(struct drm_device *drm, void 
*data,
if (bo->flags & TEGRA_BO_BOTTOM_UP)
args->flags |= DRM_TEGRA_GEM_BOTTOM_UP;
 
-   drm_gem_object_unreference_unlocked(gem);
+   drm_gem_object_put_unlocked(gem);
 
return 0;
 }
diff --git a/drivers/gpu/drm/tegra/fb.c b/drivers/gpu/drm/tegra/fb.c
index 25acb73..80540c1 100644
--- a/drivers/gpu/drm/tegra/fb.c
+++ b/drivers/gpu/drm/tegra/fb.c
@@ -88,7 +88,7 @@ static void tegra_fb_destroy(struct drm_framebuffer 
*framebuffer)
if (bo->pages)
vunmap(bo->vaddr);
 
-   drm_gem_object_unreference_unlocked(>gem);
+   drm_gem_object_put_unlocked(>gem);
}
}
 
@@ -195,7 +195,7 @@ struct drm_framebuffer *tegra_fb_create(struct drm_device 
*drm,
 
 unreference:
while (i--)
-   drm_gem_object_unreference_unlocked([i]->gem);
+   drm_gem_object_put_unlocked([i]->gem);
 
return ERR_PTR(err);
 }
@@ -242,7 +242,7 @@ static int tegra_fbdev_probe(struct drm_fb_helper *helper,
info = drm_fb_helper_alloc_fbi(helper);
if (IS_ERR(info)) {
dev_err(drm->dev, "failed to allocate framebuffer info\n");
-   drm_gem_object_unreference_unlocked(>gem);
+   drm_gem_object_put_unlocked(>gem);
return PTR_ERR(info);
}
 
@@ -251,7 +251,7 @@ static int tegra_fbdev_probe(struct drm_fb_helper *helper,
err = PTR_ERR(fbdev->fb);
dev_err(drm->dev, "failed to allocate DRM framebuffer: %d\n",
err);
-   drm_gem_object_unreference_unlocked(>gem);
+   drm_gem_object_put_unlocked(>gem);
return PTR_ERR(fbdev->fb);
}
 
diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c
index 7a39a35..fe77bcd 100644
--- a/drivers/gpu/drm/tegra/gem.c
+++ b/drivers/gpu/drm/tegra/gem.c
@@ -24,7 +24,7 @@ static void tegra_bo_put(struct host1x_bo *bo)
 {
struct tegra_bo *obj = host1x_to_tegra_bo(bo);
 
-   drm_gem_object_unreference_unlocked(>gem);
+   drm_gem_object_put_unlocked(>gem);
 }
 
 static dma_addr_t tegra_bo_pin(struct host1x_bo *bo, struct sg_table **sgt)
@@ -95,7 +95,7 @@ static struct host1x_bo *tegra_bo_get(struct host1x_bo *bo)
 {
struct tegra_bo *obj = host1x_to_tegra_bo(bo);
 
-   drm_gem_object_reference(>gem);
+   drm_gem_object_get(>gem);
 
return bo;
 }
@@ -325,7 +325,7 @@ struct tegra_bo *tegra_bo_create_with_handle(struct 
drm_file *file,
return ERR_PTR(err);
}
 
-   drm_gem_object_unreference_unlocked(>gem);
+  

[PATCH v3 24/28] drm/vc4: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/vc4/vc4_bo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/vc4/vc4_bo.c b/drivers/gpu/drm/vc4/vc4_bo.c
index facee39..3afdbf4 100644
--- a/drivers/gpu/drm/vc4/vc4_bo.c
+++ b/drivers/gpu/drm/vc4/vc4_bo.c
@@ -830,7 +830,7 @@ int vc4_label_bo_ioctl(struct drm_device *dev, void *data,
ret = -ENOMEM;
mutex_unlock(>bo_lock);
 
-   drm_gem_object_unreference_unlocked(gem_obj);
+   drm_gem_object_put_unlocked(gem_obj);
 
return ret;
 }
-- 
2.7.4



[PATCH v3 26/28] drm/virtio: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/virtio/virtgpu_display.c |  4 ++--
 drivers/gpu/drm/virtio/virtgpu_gem.c |  4 ++--
 drivers/gpu/drm/virtio/virtgpu_ioctl.c   | 14 +++---
 3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/virtio/virtgpu_display.c 
b/drivers/gpu/drm/virtio/virtgpu_display.c
index b6d5205..41b0930 100644
--- a/drivers/gpu/drm/virtio/virtgpu_display.c
+++ b/drivers/gpu/drm/virtio/virtgpu_display.c
@@ -53,7 +53,7 @@ static void virtio_gpu_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
struct virtio_gpu_framebuffer *virtio_gpu_fb
= to_virtio_gpu_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(virtio_gpu_fb->obj);
+   drm_gem_object_put_unlocked(virtio_gpu_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(virtio_gpu_fb);
 }
@@ -327,7 +327,7 @@ virtio_gpu_user_framebuffer_create(struct drm_device *dev,
ret = virtio_gpu_framebuffer_init(dev, virtio_gpu_fb, mode_cmd, obj);
if (ret) {
kfree(virtio_gpu_fb);
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return NULL;
}
 
diff --git a/drivers/gpu/drm/virtio/virtgpu_gem.c 
b/drivers/gpu/drm/virtio/virtgpu_gem.c
index cc025d8..78da210 100644
--- a/drivers/gpu/drm/virtio/virtgpu_gem.c
+++ b/drivers/gpu/drm/virtio/virtgpu_gem.c
@@ -72,7 +72,7 @@ int virtio_gpu_gem_create(struct drm_file *file,
*obj_p = >gem_base;
 
/* drop reference from allocate - handle holds it now */
-   drm_gem_object_unreference_unlocked(>gem_base);
+   drm_gem_object_put_unlocked(>gem_base);
 
*handle_p = handle;
return 0;
@@ -137,7 +137,7 @@ int virtio_gpu_mode_dumb_mmap(struct drm_file *file_priv,
return -ENOENT;
obj = gem_to_virtio_gpu_obj(gobj);
*offset_p = virtio_gpu_object_mmap_offset(obj);
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
return 0;
 }
 
diff --git a/drivers/gpu/drm/virtio/virtgpu_ioctl.c 
b/drivers/gpu/drm/virtio/virtgpu_ioctl.c
index b94bd54..461f81a 100644
--- a/drivers/gpu/drm/virtio/virtgpu_ioctl.c
+++ b/drivers/gpu/drm/virtio/virtgpu_ioctl.c
@@ -86,7 +86,7 @@ static void virtio_gpu_unref_list(struct list_head *head)
bo = buf->bo;
qobj = container_of(bo, struct virtio_gpu_object, tbo);
 
-   drm_gem_object_unreference_unlocked(>gem_base);
+   drm_gem_object_put_unlocked(>gem_base);
}
 }
 
@@ -261,7 +261,7 @@ static int virtio_gpu_resource_create_ioctl(struct 
drm_device *dev, void *data,
ret = virtio_gpu_object_attach(vgdev, qobj, res_id, NULL);
} else {
/* use a gem reference since unref list undoes them */
-   drm_gem_object_reference(>gem_base);
+   drm_gem_object_get(>gem_base);
mainbuf.bo = >tbo;
list_add(, _list);
 
@@ -304,7 +304,7 @@ static int virtio_gpu_resource_create_ioctl(struct 
drm_device *dev, void *data,
}
return ret;
}
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
rc->res_handle = res_id; /* similiar to a VM address */
rc->bo_handle = handle;
@@ -341,7 +341,7 @@ static int virtio_gpu_resource_info_ioctl(struct drm_device 
*dev, void *data,
 
ri->size = qobj->gem_base.size;
ri->res_handle = qobj->hw_res_handle;
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
return 0;
 }
 
@@ -389,7 +389,7 @@ static int virtio_gpu_transfer_from_host_ioctl(struct 
drm_device *dev,
 out_unres:
virtio_gpu_object_unreserve(qobj);
 out:
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
return ret;
 }
 
@@ -439,7 +439,7 @@ static int virtio_gpu_transfer_to_host_ioctl(struct 
drm_device *dev, void *data,
 out_unres:
virtio_gpu_object_unreserve(qobj);
 out:
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
return ret;
 }
 
@@ -462,7 +462,7 @@ static int virtio_gpu_wait_ioctl(struct drm_device *dev, 
void *data,
nowait = true;
ret = virtio_gpu_object_wait(qobj, nowait);
 
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
return ret;
 }
 
-- 
2.7.4



[PATCH v3 26/28] drm/virtio: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/virtio/virtgpu_display.c |  4 ++--
 drivers/gpu/drm/virtio/virtgpu_gem.c |  4 ++--
 drivers/gpu/drm/virtio/virtgpu_ioctl.c   | 14 +++---
 3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/virtio/virtgpu_display.c 
b/drivers/gpu/drm/virtio/virtgpu_display.c
index b6d5205..41b0930 100644
--- a/drivers/gpu/drm/virtio/virtgpu_display.c
+++ b/drivers/gpu/drm/virtio/virtgpu_display.c
@@ -53,7 +53,7 @@ static void virtio_gpu_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
struct virtio_gpu_framebuffer *virtio_gpu_fb
= to_virtio_gpu_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(virtio_gpu_fb->obj);
+   drm_gem_object_put_unlocked(virtio_gpu_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(virtio_gpu_fb);
 }
@@ -327,7 +327,7 @@ virtio_gpu_user_framebuffer_create(struct drm_device *dev,
ret = virtio_gpu_framebuffer_init(dev, virtio_gpu_fb, mode_cmd, obj);
if (ret) {
kfree(virtio_gpu_fb);
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return NULL;
}
 
diff --git a/drivers/gpu/drm/virtio/virtgpu_gem.c 
b/drivers/gpu/drm/virtio/virtgpu_gem.c
index cc025d8..78da210 100644
--- a/drivers/gpu/drm/virtio/virtgpu_gem.c
+++ b/drivers/gpu/drm/virtio/virtgpu_gem.c
@@ -72,7 +72,7 @@ int virtio_gpu_gem_create(struct drm_file *file,
*obj_p = >gem_base;
 
/* drop reference from allocate - handle holds it now */
-   drm_gem_object_unreference_unlocked(>gem_base);
+   drm_gem_object_put_unlocked(>gem_base);
 
*handle_p = handle;
return 0;
@@ -137,7 +137,7 @@ int virtio_gpu_mode_dumb_mmap(struct drm_file *file_priv,
return -ENOENT;
obj = gem_to_virtio_gpu_obj(gobj);
*offset_p = virtio_gpu_object_mmap_offset(obj);
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
return 0;
 }
 
diff --git a/drivers/gpu/drm/virtio/virtgpu_ioctl.c 
b/drivers/gpu/drm/virtio/virtgpu_ioctl.c
index b94bd54..461f81a 100644
--- a/drivers/gpu/drm/virtio/virtgpu_ioctl.c
+++ b/drivers/gpu/drm/virtio/virtgpu_ioctl.c
@@ -86,7 +86,7 @@ static void virtio_gpu_unref_list(struct list_head *head)
bo = buf->bo;
qobj = container_of(bo, struct virtio_gpu_object, tbo);
 
-   drm_gem_object_unreference_unlocked(>gem_base);
+   drm_gem_object_put_unlocked(>gem_base);
}
 }
 
@@ -261,7 +261,7 @@ static int virtio_gpu_resource_create_ioctl(struct 
drm_device *dev, void *data,
ret = virtio_gpu_object_attach(vgdev, qobj, res_id, NULL);
} else {
/* use a gem reference since unref list undoes them */
-   drm_gem_object_reference(>gem_base);
+   drm_gem_object_get(>gem_base);
mainbuf.bo = >tbo;
list_add(, _list);
 
@@ -304,7 +304,7 @@ static int virtio_gpu_resource_create_ioctl(struct 
drm_device *dev, void *data,
}
return ret;
}
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
rc->res_handle = res_id; /* similiar to a VM address */
rc->bo_handle = handle;
@@ -341,7 +341,7 @@ static int virtio_gpu_resource_info_ioctl(struct drm_device 
*dev, void *data,
 
ri->size = qobj->gem_base.size;
ri->res_handle = qobj->hw_res_handle;
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
return 0;
 }
 
@@ -389,7 +389,7 @@ static int virtio_gpu_transfer_from_host_ioctl(struct 
drm_device *dev,
 out_unres:
virtio_gpu_object_unreserve(qobj);
 out:
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
return ret;
 }
 
@@ -439,7 +439,7 @@ static int virtio_gpu_transfer_to_host_ioctl(struct 
drm_device *dev, void *data,
 out_unres:
virtio_gpu_object_unreserve(qobj);
 out:
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
return ret;
 }
 
@@ -462,7 +462,7 @@ static int virtio_gpu_wait_ioctl(struct drm_device *dev, 
void *data,
nowait = true;
ret = virtio_gpu_object_wait(qobj, nowait);
 
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
return ret;
 }
 
-- 
2.7.4



[PATCH v3 28/28] drm: vboxvideo: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/staging/vboxvideo/vbox_fb.c   | 2 +-
 drivers/staging/vboxvideo/vbox_main.c | 8 
 drivers/staging/vboxvideo/vbox_mode.c | 2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/vboxvideo/vbox_fb.c 
b/drivers/staging/vboxvideo/vbox_fb.c
index bf66358..c157284 100644
--- a/drivers/staging/vboxvideo/vbox_fb.c
+++ b/drivers/staging/vboxvideo/vbox_fb.c
@@ -343,7 +343,7 @@ void vbox_fbdev_fini(struct drm_device *dev)
vbox_bo_unpin(bo);
vbox_bo_unreserve(bo);
}
-   drm_gem_object_unreference_unlocked(afb->obj);
+   drm_gem_object_put_unlocked(afb->obj);
afb->obj = NULL;
}
drm_fb_helper_fini(>helper);
diff --git a/drivers/staging/vboxvideo/vbox_main.c 
b/drivers/staging/vboxvideo/vbox_main.c
index d0c6ec7..80bd039 100644
--- a/drivers/staging/vboxvideo/vbox_main.c
+++ b/drivers/staging/vboxvideo/vbox_main.c
@@ -40,7 +40,7 @@ static void vbox_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
struct vbox_framebuffer *vbox_fb = to_vbox_framebuffer(fb);
 
if (vbox_fb->obj)
-   drm_gem_object_unreference_unlocked(vbox_fb->obj);
+   drm_gem_object_put_unlocked(vbox_fb->obj);
 
drm_framebuffer_cleanup(fb);
kfree(fb);
@@ -198,7 +198,7 @@ static struct drm_framebuffer *vbox_user_framebuffer_create(
 err_free_vbox_fb:
kfree(vbox_fb);
 err_unref_obj:
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(ret);
 }
 
@@ -472,7 +472,7 @@ int vbox_dumb_create(struct drm_file *file,
return ret;
 
ret = drm_gem_handle_create(file, gobj, );
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
if (ret)
return ret;
 
@@ -525,7 +525,7 @@ vbox_dumb_mmap_offset(struct drm_file *file,
bo = gem_to_vbox_bo(obj);
*offset = vbox_bo_mmap_offset(bo);
 
-   drm_gem_object_unreference(obj);
+   drm_gem_object_put(obj);
ret = 0;
 
 out_unlock:
diff --git a/drivers/staging/vboxvideo/vbox_mode.c 
b/drivers/staging/vboxvideo/vbox_mode.c
index 996da1c..e5b6383 100644
--- a/drivers/staging/vboxvideo/vbox_mode.c
+++ b/drivers/staging/vboxvideo/vbox_mode.c
@@ -812,7 +812,7 @@ static int vbox_cursor_set2(struct drm_crtc *crtc, struct 
drm_file *file_priv,
 out_unreserve_bo:
vbox_bo_unreserve(bo);
 out_unref_obj:
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return ret;
 }
-- 
2.7.4



[PATCH v3 28/28] drm: vboxvideo: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/staging/vboxvideo/vbox_fb.c   | 2 +-
 drivers/staging/vboxvideo/vbox_main.c | 8 
 drivers/staging/vboxvideo/vbox_mode.c | 2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/vboxvideo/vbox_fb.c 
b/drivers/staging/vboxvideo/vbox_fb.c
index bf66358..c157284 100644
--- a/drivers/staging/vboxvideo/vbox_fb.c
+++ b/drivers/staging/vboxvideo/vbox_fb.c
@@ -343,7 +343,7 @@ void vbox_fbdev_fini(struct drm_device *dev)
vbox_bo_unpin(bo);
vbox_bo_unreserve(bo);
}
-   drm_gem_object_unreference_unlocked(afb->obj);
+   drm_gem_object_put_unlocked(afb->obj);
afb->obj = NULL;
}
drm_fb_helper_fini(>helper);
diff --git a/drivers/staging/vboxvideo/vbox_main.c 
b/drivers/staging/vboxvideo/vbox_main.c
index d0c6ec7..80bd039 100644
--- a/drivers/staging/vboxvideo/vbox_main.c
+++ b/drivers/staging/vboxvideo/vbox_main.c
@@ -40,7 +40,7 @@ static void vbox_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
struct vbox_framebuffer *vbox_fb = to_vbox_framebuffer(fb);
 
if (vbox_fb->obj)
-   drm_gem_object_unreference_unlocked(vbox_fb->obj);
+   drm_gem_object_put_unlocked(vbox_fb->obj);
 
drm_framebuffer_cleanup(fb);
kfree(fb);
@@ -198,7 +198,7 @@ static struct drm_framebuffer *vbox_user_framebuffer_create(
 err_free_vbox_fb:
kfree(vbox_fb);
 err_unref_obj:
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(ret);
 }
 
@@ -472,7 +472,7 @@ int vbox_dumb_create(struct drm_file *file,
return ret;
 
ret = drm_gem_handle_create(file, gobj, );
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
if (ret)
return ret;
 
@@ -525,7 +525,7 @@ vbox_dumb_mmap_offset(struct drm_file *file,
bo = gem_to_vbox_bo(obj);
*offset = vbox_bo_mmap_offset(bo);
 
-   drm_gem_object_unreference(obj);
+   drm_gem_object_put(obj);
ret = 0;
 
 out_unlock:
diff --git a/drivers/staging/vboxvideo/vbox_mode.c 
b/drivers/staging/vboxvideo/vbox_mode.c
index 996da1c..e5b6383 100644
--- a/drivers/staging/vboxvideo/vbox_mode.c
+++ b/drivers/staging/vboxvideo/vbox_mode.c
@@ -812,7 +812,7 @@ static int vbox_cursor_set2(struct drm_crtc *crtc, struct 
drm_file *file_priv,
 out_unreserve_bo:
vbox_bo_unreserve(bo);
 out_unref_obj:
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return ret;
 }
-- 
2.7.4



[PATCH v3 25/28] drm/vgem: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/vgem/vgem_drv.c   | 4 ++--
 drivers/gpu/drm/vgem/vgem_fence.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/vgem/vgem_drv.c b/drivers/gpu/drm/vgem/vgem_drv.c
index 1228967..2524ff1 100644
--- a/drivers/gpu/drm/vgem/vgem_drv.c
+++ b/drivers/gpu/drm/vgem/vgem_drv.c
@@ -190,7 +190,7 @@ static struct drm_gem_object *vgem_gem_create(struct 
drm_device *dev,
return ERR_CAST(obj);
 
ret = drm_gem_handle_create(file, >base, handle);
-   drm_gem_object_unreference_unlocked(>base);
+   drm_gem_object_put_unlocked(>base);
if (ret)
goto err;
 
@@ -245,7 +245,7 @@ static int vgem_gem_dumb_map(struct drm_file *file, struct 
drm_device *dev,
 
*offset = drm_vma_node_offset_addr(>vma_node);
 unref:
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return ret;
 }
diff --git a/drivers/gpu/drm/vgem/vgem_fence.c 
b/drivers/gpu/drm/vgem/vgem_fence.c
index 3109c83..8fd52f2 100644
--- a/drivers/gpu/drm/vgem/vgem_fence.c
+++ b/drivers/gpu/drm/vgem/vgem_fence.c
@@ -213,7 +213,7 @@ int vgem_fence_attach_ioctl(struct drm_device *dev,
dma_fence_put(fence);
}
 err:
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ret;
 }
 
-- 
2.7.4



[PATCH v3 25/28] drm/vgem: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/vgem/vgem_drv.c   | 4 ++--
 drivers/gpu/drm/vgem/vgem_fence.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/vgem/vgem_drv.c b/drivers/gpu/drm/vgem/vgem_drv.c
index 1228967..2524ff1 100644
--- a/drivers/gpu/drm/vgem/vgem_drv.c
+++ b/drivers/gpu/drm/vgem/vgem_drv.c
@@ -190,7 +190,7 @@ static struct drm_gem_object *vgem_gem_create(struct 
drm_device *dev,
return ERR_CAST(obj);
 
ret = drm_gem_handle_create(file, >base, handle);
-   drm_gem_object_unreference_unlocked(>base);
+   drm_gem_object_put_unlocked(>base);
if (ret)
goto err;
 
@@ -245,7 +245,7 @@ static int vgem_gem_dumb_map(struct drm_file *file, struct 
drm_device *dev,
 
*offset = drm_vma_node_offset_addr(>vma_node);
 unref:
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return ret;
 }
diff --git a/drivers/gpu/drm/vgem/vgem_fence.c 
b/drivers/gpu/drm/vgem/vgem_fence.c
index 3109c83..8fd52f2 100644
--- a/drivers/gpu/drm/vgem/vgem_fence.c
+++ b/drivers/gpu/drm/vgem/vgem_fence.c
@@ -213,7 +213,7 @@ int vgem_fence_attach_ioctl(struct drm_device *dev,
dma_fence_put(fence);
}
 err:
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ret;
 }
 
-- 
2.7.4



[PATCH v3 27/28] drm/vmwgfx: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
Reviewed-by: Thomas Hellstrom <thellst...@vmware.com>
---
 drivers/gpu/drm/vmwgfx/vmwgfx_fb.c| 2 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c 
b/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
index d23a18a..be7d7fb 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
@@ -500,7 +500,7 @@ static int vmw_fb_kms_detach(struct vmw_fb_par *par,
}
 
if (cur_fb) {
-   drm_framebuffer_unreference(cur_fb);
+   drm_framebuffer_put(cur_fb);
par->set_fb = NULL;
}
 
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c 
b/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c
index 5ec24fd..fd4a988 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c
@@ -316,7 +316,7 @@ int vmw_present_ioctl(struct drm_device *dev, void *data,
 out_no_surface:
ttm_read_unlock(_priv->reservation_sem);
 out_no_ttm_lock:
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
 out_no_fb:
drm_modeset_unlock_all(dev);
 out_no_copy:
@@ -393,7 +393,7 @@ int vmw_present_readback_ioctl(struct drm_device *dev, void 
*data,
 
ttm_read_unlock(_priv->reservation_sem);
 out_no_ttm_lock:
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
 out_no_fb:
drm_modeset_unlock_all(dev);
 out_no_copy:
-- 
2.7.4



[PATCH v3 27/28] drm/vmwgfx: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
Reviewed-by: Thomas Hellstrom 
---
 drivers/gpu/drm/vmwgfx/vmwgfx_fb.c| 2 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c 
b/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
index d23a18a..be7d7fb 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_fb.c
@@ -500,7 +500,7 @@ static int vmw_fb_kms_detach(struct vmw_fb_par *par,
}
 
if (cur_fb) {
-   drm_framebuffer_unreference(cur_fb);
+   drm_framebuffer_put(cur_fb);
par->set_fb = NULL;
}
 
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c 
b/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c
index 5ec24fd..fd4a988 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ioctl.c
@@ -316,7 +316,7 @@ int vmw_present_ioctl(struct drm_device *dev, void *data,
 out_no_surface:
ttm_read_unlock(_priv->reservation_sem);
 out_no_ttm_lock:
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
 out_no_fb:
drm_modeset_unlock_all(dev);
 out_no_copy:
@@ -393,7 +393,7 @@ int vmw_present_readback_ioctl(struct drm_device *dev, void 
*data,
 
ttm_read_unlock(_priv->reservation_sem);
 out_no_ttm_lock:
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
 out_no_fb:
drm_modeset_unlock_all(dev);
 out_no_copy:
-- 
2.7.4



[PATCH v3 17/28] drm/omapdrm: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/omapdrm/omap_drv.c| 2 +-
 drivers/gpu/drm/omapdrm/omap_fb.c | 4 ++--
 drivers/gpu/drm/omapdrm/omap_fbdev.c  | 2 +-
 drivers/gpu/drm/omapdrm/omap_gem.c| 4 ++--
 drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c | 2 +-
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c 
b/drivers/gpu/drm/omapdrm/omap_drv.c
index 721a358..9223a8a 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.c
+++ b/drivers/gpu/drm/omapdrm/omap_drv.c
@@ -393,7 +393,7 @@ static int ioctl_gem_info(struct drm_device *dev, void 
*data,
args->size = omap_gem_mmap_size(obj);
args->offset = omap_gem_mmap_offset(obj);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return ret;
 }
diff --git a/drivers/gpu/drm/omapdrm/omap_fb.c 
b/drivers/gpu/drm/omapdrm/omap_fb.c
index ddf7a45..549196d 100644
--- a/drivers/gpu/drm/omapdrm/omap_fb.c
+++ b/drivers/gpu/drm/omapdrm/omap_fb.c
@@ -91,7 +91,7 @@ static void omap_framebuffer_destroy(struct drm_framebuffer 
*fb)
for (i = 0; i < n; i++) {
struct plane *plane = _fb->planes[i];
 
-   drm_gem_object_unreference_unlocked(plane->bo);
+   drm_gem_object_put_unlocked(plane->bo);
}
 
kfree(omap_fb);
@@ -380,7 +380,7 @@ struct drm_framebuffer *omap_framebuffer_create(struct 
drm_device *dev,
 
 error:
while (--i > 0)
-   drm_gem_object_unreference_unlocked(bos[i]);
+   drm_gem_object_put_unlocked(bos[i]);
 
return fb;
 }
diff --git a/drivers/gpu/drm/omapdrm/omap_fbdev.c 
b/drivers/gpu/drm/omapdrm/omap_fbdev.c
index 9273118..1ada9e1 100644
--- a/drivers/gpu/drm/omapdrm/omap_fbdev.c
+++ b/drivers/gpu/drm/omapdrm/omap_fbdev.c
@@ -149,7 +149,7 @@ static int omap_fbdev_create(struct drm_fb_helper *helper,
/* note: if fb creation failed, we can't rely on fb destroy
 * to unref the bo:
 */
-   drm_gem_object_unreference_unlocked(fbdev->bo);
+   drm_gem_object_put_unlocked(fbdev->bo);
ret = PTR_ERR(fb);
goto fail;
}
diff --git a/drivers/gpu/drm/omapdrm/omap_gem.c 
b/drivers/gpu/drm/omapdrm/omap_gem.c
index 5c5c86d..062fb57 100644
--- a/drivers/gpu/drm/omapdrm/omap_gem.c
+++ b/drivers/gpu/drm/omapdrm/omap_gem.c
@@ -665,7 +665,7 @@ int omap_gem_dumb_map_offset(struct drm_file *file, struct 
drm_device *dev,
 
*offset = omap_gem_mmap_offset(obj);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
 fail:
return ret;
@@ -1299,7 +1299,7 @@ int omap_gem_new_handle(struct drm_device *dev, struct 
drm_file *file,
}
 
/* drop reference from allocate - handle holds it now */
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return 0;
 }
diff --git a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c 
b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
index 863a881..17cc3ab 100644
--- a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
+++ b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
@@ -189,7 +189,7 @@ struct drm_gem_object *omap_gem_prime_import(struct 
drm_device *dev,
 * Importing dmabuf exported from out own gem increases
 * refcount on gem itself instead of f_count of dmabuf.
 */
-   drm_gem_object_reference(obj);
+   drm_gem_object_get(obj);
return obj;
}
}
-- 
2.7.4



[PATCH v3 19/28] drm/radeon: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
Reviewed-by: Christian König <christian.koe...@amd.com>
---
 drivers/gpu/drm/radeon/radeon_cs.c  |  2 +-
 drivers/gpu/drm/radeon/radeon_cursor.c  |  6 +++---
 drivers/gpu/drm/radeon/radeon_display.c | 12 ++--
 drivers/gpu/drm/radeon/radeon_fb.c  |  4 ++--
 drivers/gpu/drm/radeon/radeon_gem.c | 30 +++---
 drivers/gpu/drm/radeon/radeon_object.c  |  2 +-
 6 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_cs.c 
b/drivers/gpu/drm/radeon/radeon_cs.c
index 00b22af..ea0db26 100644
--- a/drivers/gpu/drm/radeon/radeon_cs.c
+++ b/drivers/gpu/drm/radeon/radeon_cs.c
@@ -437,7 +437,7 @@ static void radeon_cs_parser_fini(struct radeon_cs_parser 
*parser, int error, bo
if (bo == NULL)
continue;
 
-   drm_gem_object_unreference_unlocked(>gem_base);
+   drm_gem_object_put_unlocked(>gem_base);
}
}
kfree(parser->track);
diff --git a/drivers/gpu/drm/radeon/radeon_cursor.c 
b/drivers/gpu/drm/radeon/radeon_cursor.c
index 4a4f953..9195227 100644
--- a/drivers/gpu/drm/radeon/radeon_cursor.c
+++ b/drivers/gpu/drm/radeon/radeon_cursor.c
@@ -307,7 +307,7 @@ int radeon_crtc_cursor_set2(struct drm_crtc *crtc,
robj = gem_to_radeon_bo(obj);
ret = radeon_bo_reserve(robj, false);
if (ret != 0) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ret;
}
/* Only 27 bit offset for legacy cursor */
@@ -317,7 +317,7 @@ int radeon_crtc_cursor_set2(struct drm_crtc *crtc,
radeon_bo_unreserve(robj);
if (ret) {
DRM_ERROR("Failed to pin new cursor BO (%d)\n", ret);
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ret;
}
 
@@ -352,7 +352,7 @@ int radeon_crtc_cursor_set2(struct drm_crtc *crtc,
radeon_bo_unpin(robj);
radeon_bo_unreserve(robj);
}
-   drm_gem_object_unreference_unlocked(radeon_crtc->cursor_bo);
+   drm_gem_object_put_unlocked(radeon_crtc->cursor_bo);
}
 
radeon_crtc->cursor_bo = obj;
diff --git a/drivers/gpu/drm/radeon/radeon_display.c 
b/drivers/gpu/drm/radeon/radeon_display.c
index 8b7d7a0..207c1a8 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -267,7 +267,7 @@ static void radeon_unpin_work_func(struct work_struct 
*__work)
} else
DRM_ERROR("failed to reserve buffer after flip\n");
 
-   drm_gem_object_unreference_unlocked(>old_rbo->gem_base);
+   drm_gem_object_put_unlocked(>old_rbo->gem_base);
kfree(work);
 }
 
@@ -504,7 +504,7 @@ static int radeon_crtc_page_flip_target(struct drm_crtc 
*crtc,
obj = old_radeon_fb->obj;
 
/* take a reference to the old object */
-   drm_gem_object_reference(obj);
+   drm_gem_object_get(obj);
work->old_rbo = gem_to_radeon_bo(obj);
 
new_radeon_fb = to_radeon_framebuffer(fb);
@@ -603,7 +603,7 @@ static int radeon_crtc_page_flip_target(struct drm_crtc 
*crtc,
radeon_bo_unreserve(new_rbo);
 
 cleanup:
-   drm_gem_object_unreference_unlocked(>old_rbo->gem_base);
+   drm_gem_object_put_unlocked(>old_rbo->gem_base);
dma_fence_put(work->fence);
kfree(work);
return r;
@@ -1288,7 +1288,7 @@ static void radeon_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct radeon_framebuffer *radeon_fb = to_radeon_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(radeon_fb->obj);
+   drm_gem_object_put_unlocked(radeon_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(radeon_fb);
 }
@@ -1348,14 +1348,14 @@ radeon_user_framebuffer_create(struct drm_device *dev,
 
radeon_fb = kzalloc(sizeof(*radeon_fb), GFP_KERNEL);
if (radeon_fb == NULL) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(-ENOMEM);
}
 
ret = radeon_framebuffer_init(dev, radeon_fb, mode_cmd, obj);
if (ret) {
kfree(radeon_fb);
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
   

[PATCH v3 17/28] drm/omapdrm: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/omapdrm/omap_drv.c| 2 +-
 drivers/gpu/drm/omapdrm/omap_fb.c | 4 ++--
 drivers/gpu/drm/omapdrm/omap_fbdev.c  | 2 +-
 drivers/gpu/drm/omapdrm/omap_gem.c| 4 ++--
 drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c | 2 +-
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c 
b/drivers/gpu/drm/omapdrm/omap_drv.c
index 721a358..9223a8a 100644
--- a/drivers/gpu/drm/omapdrm/omap_drv.c
+++ b/drivers/gpu/drm/omapdrm/omap_drv.c
@@ -393,7 +393,7 @@ static int ioctl_gem_info(struct drm_device *dev, void 
*data,
args->size = omap_gem_mmap_size(obj);
args->offset = omap_gem_mmap_offset(obj);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return ret;
 }
diff --git a/drivers/gpu/drm/omapdrm/omap_fb.c 
b/drivers/gpu/drm/omapdrm/omap_fb.c
index ddf7a45..549196d 100644
--- a/drivers/gpu/drm/omapdrm/omap_fb.c
+++ b/drivers/gpu/drm/omapdrm/omap_fb.c
@@ -91,7 +91,7 @@ static void omap_framebuffer_destroy(struct drm_framebuffer 
*fb)
for (i = 0; i < n; i++) {
struct plane *plane = _fb->planes[i];
 
-   drm_gem_object_unreference_unlocked(plane->bo);
+   drm_gem_object_put_unlocked(plane->bo);
}
 
kfree(omap_fb);
@@ -380,7 +380,7 @@ struct drm_framebuffer *omap_framebuffer_create(struct 
drm_device *dev,
 
 error:
while (--i > 0)
-   drm_gem_object_unreference_unlocked(bos[i]);
+   drm_gem_object_put_unlocked(bos[i]);
 
return fb;
 }
diff --git a/drivers/gpu/drm/omapdrm/omap_fbdev.c 
b/drivers/gpu/drm/omapdrm/omap_fbdev.c
index 9273118..1ada9e1 100644
--- a/drivers/gpu/drm/omapdrm/omap_fbdev.c
+++ b/drivers/gpu/drm/omapdrm/omap_fbdev.c
@@ -149,7 +149,7 @@ static int omap_fbdev_create(struct drm_fb_helper *helper,
/* note: if fb creation failed, we can't rely on fb destroy
 * to unref the bo:
 */
-   drm_gem_object_unreference_unlocked(fbdev->bo);
+   drm_gem_object_put_unlocked(fbdev->bo);
ret = PTR_ERR(fb);
goto fail;
}
diff --git a/drivers/gpu/drm/omapdrm/omap_gem.c 
b/drivers/gpu/drm/omapdrm/omap_gem.c
index 5c5c86d..062fb57 100644
--- a/drivers/gpu/drm/omapdrm/omap_gem.c
+++ b/drivers/gpu/drm/omapdrm/omap_gem.c
@@ -665,7 +665,7 @@ int omap_gem_dumb_map_offset(struct drm_file *file, struct 
drm_device *dev,
 
*offset = omap_gem_mmap_offset(obj);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
 fail:
return ret;
@@ -1299,7 +1299,7 @@ int omap_gem_new_handle(struct drm_device *dev, struct 
drm_file *file,
}
 
/* drop reference from allocate - handle holds it now */
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return 0;
 }
diff --git a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c 
b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
index 863a881..17cc3ab 100644
--- a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
+++ b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c
@@ -189,7 +189,7 @@ struct drm_gem_object *omap_gem_prime_import(struct 
drm_device *dev,
 * Importing dmabuf exported from out own gem increases
 * refcount on gem itself instead of f_count of dmabuf.
 */
-   drm_gem_object_reference(obj);
+   drm_gem_object_get(obj);
return obj;
}
}
-- 
2.7.4



[PATCH v3 19/28] drm/radeon: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
Reviewed-by: Christian König 
---
 drivers/gpu/drm/radeon/radeon_cs.c  |  2 +-
 drivers/gpu/drm/radeon/radeon_cursor.c  |  6 +++---
 drivers/gpu/drm/radeon/radeon_display.c | 12 ++--
 drivers/gpu/drm/radeon/radeon_fb.c  |  4 ++--
 drivers/gpu/drm/radeon/radeon_gem.c | 30 +++---
 drivers/gpu/drm/radeon/radeon_object.c  |  2 +-
 6 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_cs.c 
b/drivers/gpu/drm/radeon/radeon_cs.c
index 00b22af..ea0db26 100644
--- a/drivers/gpu/drm/radeon/radeon_cs.c
+++ b/drivers/gpu/drm/radeon/radeon_cs.c
@@ -437,7 +437,7 @@ static void radeon_cs_parser_fini(struct radeon_cs_parser 
*parser, int error, bo
if (bo == NULL)
continue;
 
-   drm_gem_object_unreference_unlocked(>gem_base);
+   drm_gem_object_put_unlocked(>gem_base);
}
}
kfree(parser->track);
diff --git a/drivers/gpu/drm/radeon/radeon_cursor.c 
b/drivers/gpu/drm/radeon/radeon_cursor.c
index 4a4f953..9195227 100644
--- a/drivers/gpu/drm/radeon/radeon_cursor.c
+++ b/drivers/gpu/drm/radeon/radeon_cursor.c
@@ -307,7 +307,7 @@ int radeon_crtc_cursor_set2(struct drm_crtc *crtc,
robj = gem_to_radeon_bo(obj);
ret = radeon_bo_reserve(robj, false);
if (ret != 0) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ret;
}
/* Only 27 bit offset for legacy cursor */
@@ -317,7 +317,7 @@ int radeon_crtc_cursor_set2(struct drm_crtc *crtc,
radeon_bo_unreserve(robj);
if (ret) {
DRM_ERROR("Failed to pin new cursor BO (%d)\n", ret);
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ret;
}
 
@@ -352,7 +352,7 @@ int radeon_crtc_cursor_set2(struct drm_crtc *crtc,
radeon_bo_unpin(robj);
radeon_bo_unreserve(robj);
}
-   drm_gem_object_unreference_unlocked(radeon_crtc->cursor_bo);
+   drm_gem_object_put_unlocked(radeon_crtc->cursor_bo);
}
 
radeon_crtc->cursor_bo = obj;
diff --git a/drivers/gpu/drm/radeon/radeon_display.c 
b/drivers/gpu/drm/radeon/radeon_display.c
index 8b7d7a0..207c1a8 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -267,7 +267,7 @@ static void radeon_unpin_work_func(struct work_struct 
*__work)
} else
DRM_ERROR("failed to reserve buffer after flip\n");
 
-   drm_gem_object_unreference_unlocked(>old_rbo->gem_base);
+   drm_gem_object_put_unlocked(>old_rbo->gem_base);
kfree(work);
 }
 
@@ -504,7 +504,7 @@ static int radeon_crtc_page_flip_target(struct drm_crtc 
*crtc,
obj = old_radeon_fb->obj;
 
/* take a reference to the old object */
-   drm_gem_object_reference(obj);
+   drm_gem_object_get(obj);
work->old_rbo = gem_to_radeon_bo(obj);
 
new_radeon_fb = to_radeon_framebuffer(fb);
@@ -603,7 +603,7 @@ static int radeon_crtc_page_flip_target(struct drm_crtc 
*crtc,
radeon_bo_unreserve(new_rbo);
 
 cleanup:
-   drm_gem_object_unreference_unlocked(>old_rbo->gem_base);
+   drm_gem_object_put_unlocked(>old_rbo->gem_base);
dma_fence_put(work->fence);
kfree(work);
return r;
@@ -1288,7 +1288,7 @@ static void radeon_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct radeon_framebuffer *radeon_fb = to_radeon_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(radeon_fb->obj);
+   drm_gem_object_put_unlocked(radeon_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(radeon_fb);
 }
@@ -1348,14 +1348,14 @@ radeon_user_framebuffer_create(struct drm_device *dev,
 
radeon_fb = kzalloc(sizeof(*radeon_fb), GFP_KERNEL);
if (radeon_fb == NULL) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(-ENOMEM);
}
 
ret = radeon_framebuffer_init(dev, radeon_fb, mode_cmd, obj);
if (ret) {
kfree(radeon_fb);
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(ret);
}
 
diff --git a/d

[PATCH v3 14/28] drm/mgag200: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/mgag200/mgag200_cursor.c |  2 +-
 drivers/gpu/drm/mgag200/mgag200_fb.c |  4 ++--
 drivers/gpu/drm/mgag200/mgag200_main.c   | 10 +-
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/mgag200/mgag200_cursor.c 
b/drivers/gpu/drm/mgag200/mgag200_cursor.c
index 2ac3fcb..968e203 100644
--- a/drivers/gpu/drm/mgag200/mgag200_cursor.c
+++ b/drivers/gpu/drm/mgag200/mgag200_cursor.c
@@ -248,7 +248,7 @@ int mga_crtc_cursor_set(struct drm_crtc *crtc,
 out_unreserve1:
mgag200_bo_unreserve(pixels_2);
 out_unref:
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return ret;
 }
diff --git a/drivers/gpu/drm/mgag200/mgag200_fb.c 
b/drivers/gpu/drm/mgag200/mgag200_fb.c
index 9d914ca..30726c9 100644
--- a/drivers/gpu/drm/mgag200/mgag200_fb.c
+++ b/drivers/gpu/drm/mgag200/mgag200_fb.c
@@ -232,7 +232,7 @@ static int mgag200fb_create(struct drm_fb_helper *helper,
 err_alloc_fbi:
vfree(sysram);
 err_sysram:
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
 
return ret;
 }
@@ -245,7 +245,7 @@ static int mga_fbdev_destroy(struct drm_device *dev,
drm_fb_helper_unregister_fbi(>helper);
 
if (mfb->obj) {
-   drm_gem_object_unreference_unlocked(mfb->obj);
+   drm_gem_object_put_unlocked(mfb->obj);
mfb->obj = NULL;
}
drm_fb_helper_fini(>helper);
diff --git a/drivers/gpu/drm/mgag200/mgag200_main.c 
b/drivers/gpu/drm/mgag200/mgag200_main.c
index dce8a3e..780f983 100644
--- a/drivers/gpu/drm/mgag200/mgag200_main.c
+++ b/drivers/gpu/drm/mgag200/mgag200_main.c
@@ -18,7 +18,7 @@ static void mga_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct mga_framebuffer *mga_fb = to_mga_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(mga_fb->obj);
+   drm_gem_object_put_unlocked(mga_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(fb);
 }
@@ -59,13 +59,13 @@ mgag200_user_framebuffer_create(struct drm_device *dev,
 
mga_fb = kzalloc(sizeof(*mga_fb), GFP_KERNEL);
if (!mga_fb) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(-ENOMEM);
}
 
ret = mgag200_framebuffer_init(dev, mga_fb, mode_cmd, obj);
if (ret) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
kfree(mga_fb);
return ERR_PTR(ret);
}
@@ -317,7 +317,7 @@ int mgag200_dumb_create(struct drm_file *file,
return ret;
 
ret = drm_gem_handle_create(file, gobj, );
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
if (ret)
return ret;
 
@@ -366,6 +366,6 @@ mgag200_dumb_mmap_offset(struct drm_file *file,
bo = gem_to_mga_bo(obj);
*offset = mgag200_bo_mmap_offset(bo);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return 0;
 }
-- 
2.7.4



[PATCH v3 14/28] drm/mgag200: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/mgag200/mgag200_cursor.c |  2 +-
 drivers/gpu/drm/mgag200/mgag200_fb.c |  4 ++--
 drivers/gpu/drm/mgag200/mgag200_main.c   | 10 +-
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/mgag200/mgag200_cursor.c 
b/drivers/gpu/drm/mgag200/mgag200_cursor.c
index 2ac3fcb..968e203 100644
--- a/drivers/gpu/drm/mgag200/mgag200_cursor.c
+++ b/drivers/gpu/drm/mgag200/mgag200_cursor.c
@@ -248,7 +248,7 @@ int mga_crtc_cursor_set(struct drm_crtc *crtc,
 out_unreserve1:
mgag200_bo_unreserve(pixels_2);
 out_unref:
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return ret;
 }
diff --git a/drivers/gpu/drm/mgag200/mgag200_fb.c 
b/drivers/gpu/drm/mgag200/mgag200_fb.c
index 9d914ca..30726c9 100644
--- a/drivers/gpu/drm/mgag200/mgag200_fb.c
+++ b/drivers/gpu/drm/mgag200/mgag200_fb.c
@@ -232,7 +232,7 @@ static int mgag200fb_create(struct drm_fb_helper *helper,
 err_alloc_fbi:
vfree(sysram);
 err_sysram:
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
 
return ret;
 }
@@ -245,7 +245,7 @@ static int mga_fbdev_destroy(struct drm_device *dev,
drm_fb_helper_unregister_fbi(>helper);
 
if (mfb->obj) {
-   drm_gem_object_unreference_unlocked(mfb->obj);
+   drm_gem_object_put_unlocked(mfb->obj);
mfb->obj = NULL;
}
drm_fb_helper_fini(>helper);
diff --git a/drivers/gpu/drm/mgag200/mgag200_main.c 
b/drivers/gpu/drm/mgag200/mgag200_main.c
index dce8a3e..780f983 100644
--- a/drivers/gpu/drm/mgag200/mgag200_main.c
+++ b/drivers/gpu/drm/mgag200/mgag200_main.c
@@ -18,7 +18,7 @@ static void mga_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct mga_framebuffer *mga_fb = to_mga_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(mga_fb->obj);
+   drm_gem_object_put_unlocked(mga_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(fb);
 }
@@ -59,13 +59,13 @@ mgag200_user_framebuffer_create(struct drm_device *dev,
 
mga_fb = kzalloc(sizeof(*mga_fb), GFP_KERNEL);
if (!mga_fb) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(-ENOMEM);
}
 
ret = mgag200_framebuffer_init(dev, mga_fb, mode_cmd, obj);
if (ret) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
kfree(mga_fb);
return ERR_PTR(ret);
}
@@ -317,7 +317,7 @@ int mgag200_dumb_create(struct drm_file *file,
return ret;
 
ret = drm_gem_handle_create(file, gobj, );
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
if (ret)
return ret;
 
@@ -366,6 +366,6 @@ mgag200_dumb_mmap_offset(struct drm_file *file,
bo = gem_to_mga_bo(obj);
*offset = mgag200_bo_mmap_offset(bo);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return 0;
 }
-- 
2.7.4



[PATCH v3 07/28] drm/etnaviv: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/etnaviv/etnaviv_drv.c|  8 
 drivers/gpu/drm/etnaviv/etnaviv_gem.c| 20 ++--
 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c  |  2 +-
 drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c |  4 ++--
 4 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c 
b/drivers/gpu/drm/etnaviv/etnaviv_drv.c
index 91e17ae..2cb4773 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_drv.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.c
@@ -316,7 +316,7 @@ static int etnaviv_ioctl_gem_cpu_prep(struct drm_device 
*dev, void *data,
 
ret = etnaviv_gem_cpu_prep(obj, args->op, (args->timeout));
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return ret;
 }
@@ -337,7 +337,7 @@ static int etnaviv_ioctl_gem_cpu_fini(struct drm_device 
*dev, void *data,
 
ret = etnaviv_gem_cpu_fini(obj);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return ret;
 }
@@ -357,7 +357,7 @@ static int etnaviv_ioctl_gem_info(struct drm_device *dev, 
void *data,
return -ENOENT;
 
ret = etnaviv_gem_mmap_offset(obj, >offset);
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return ret;
 }
@@ -446,7 +446,7 @@ static int etnaviv_ioctl_gem_wait(struct drm_device *dev, 
void *data,
 
ret = etnaviv_gem_wait_bo(gpu, obj, timeout);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return ret;
 }
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c 
b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
index 9a3bea7..e36fbb9 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
@@ -265,7 +265,7 @@ void etnaviv_gem_mapping_reference(struct 
etnaviv_vram_mapping *mapping)
 {
struct etnaviv_gem_object *etnaviv_obj = mapping->object;
 
-   drm_gem_object_reference(_obj->base);
+   drm_gem_object_get(_obj->base);
 
mutex_lock(_obj->lock);
WARN_ON(mapping->use == 0);
@@ -282,7 +282,7 @@ void etnaviv_gem_mapping_unreference(struct 
etnaviv_vram_mapping *mapping)
mapping->use -= 1;
mutex_unlock(_obj->lock);
 
-   drm_gem_object_unreference_unlocked(_obj->base);
+   drm_gem_object_put_unlocked(_obj->base);
 }
 
 struct etnaviv_vram_mapping *etnaviv_gem_mapping_get(
@@ -358,7 +358,7 @@ struct etnaviv_vram_mapping *etnaviv_gem_mapping_get(
return ERR_PTR(ret);
 
/* Take a reference on the object */
-   drm_gem_object_reference(obj);
+   drm_gem_object_get(obj);
return mapping;
 }
 
@@ -671,7 +671,7 @@ static struct drm_gem_object *__etnaviv_gem_new(struct 
drm_device *dev,
return obj;
 
 fail:
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(ret);
 }
 
@@ -688,14 +688,14 @@ int etnaviv_gem_new_handle(struct drm_device *dev, struct 
drm_file *file,
 
ret = etnaviv_gem_obj_add(dev, obj);
if (ret < 0) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ret;
}
 
ret = drm_gem_handle_create(file, obj, handle);
 
/* drop reference from allocate - handle holds it now */
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return ret;
 }
@@ -712,7 +712,7 @@ struct drm_gem_object *etnaviv_gem_new(struct drm_device 
*dev,
 
ret = etnaviv_gem_obj_add(dev, obj);
if (ret < 0) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(ret);
}
 
@@ -800,7 +800,7 @@ static void __etnaviv_gem_userptr_get_pages(struct 
work_struct *_work)
}
 
mutex_unlock(_obj->lock);
-   drm_gem_object_unreference_unlocked(_obj->base);
+   drm_gem_object_put_unlocked(_obj->base);
 
mmput(work->mm);
put_task_struct(work->task);
@@ -858,7 +858,7 @@ static int etnaviv_gem_userptr_get_pages(struct 
etnaviv_gem_object *etnaviv_obj)
}
 
get_task_struct(current);
-   drm_gem_object_reference(_obj->base);
+   drm_gem_object_get(_obj->base);
 
work->mm = mm;
work->task = current;
@@ -924,6 +924,6 @@ int etnaviv_gem_new_userptr(struct d

[PATCH v3 12/28] drm/imx: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/imx/ipuv3-crtc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/imx/ipuv3-crtc.c b/drivers/gpu/drm/imx/ipuv3-crtc.c
index 53e0b24..9a99618 100644
--- a/drivers/gpu/drm/imx/ipuv3-crtc.c
+++ b/drivers/gpu/drm/imx/ipuv3-crtc.c
@@ -115,7 +115,7 @@ static void imx_drm_crtc_reset(struct drm_crtc *crtc)
 
if (crtc->state) {
if (crtc->state->mode_blob)
-   drm_property_unreference_blob(crtc->state->mode_blob);
+   drm_property_blob_put(crtc->state->mode_blob);
 
state = to_imx_crtc_state(crtc->state);
memset(state, 0, sizeof(*state));
-- 
2.7.4



[PATCH v3 07/28] drm/etnaviv: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/etnaviv/etnaviv_drv.c|  8 
 drivers/gpu/drm/etnaviv/etnaviv_gem.c| 20 ++--
 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c  |  2 +-
 drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c |  4 ++--
 4 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/drivers/gpu/drm/etnaviv/etnaviv_drv.c 
b/drivers/gpu/drm/etnaviv/etnaviv_drv.c
index 91e17ae..2cb4773 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_drv.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_drv.c
@@ -316,7 +316,7 @@ static int etnaviv_ioctl_gem_cpu_prep(struct drm_device 
*dev, void *data,
 
ret = etnaviv_gem_cpu_prep(obj, args->op, (args->timeout));
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return ret;
 }
@@ -337,7 +337,7 @@ static int etnaviv_ioctl_gem_cpu_fini(struct drm_device 
*dev, void *data,
 
ret = etnaviv_gem_cpu_fini(obj);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return ret;
 }
@@ -357,7 +357,7 @@ static int etnaviv_ioctl_gem_info(struct drm_device *dev, 
void *data,
return -ENOENT;
 
ret = etnaviv_gem_mmap_offset(obj, >offset);
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return ret;
 }
@@ -446,7 +446,7 @@ static int etnaviv_ioctl_gem_wait(struct drm_device *dev, 
void *data,
 
ret = etnaviv_gem_wait_bo(gpu, obj, timeout);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return ret;
 }
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c 
b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
index 9a3bea7..e36fbb9 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
@@ -265,7 +265,7 @@ void etnaviv_gem_mapping_reference(struct 
etnaviv_vram_mapping *mapping)
 {
struct etnaviv_gem_object *etnaviv_obj = mapping->object;
 
-   drm_gem_object_reference(_obj->base);
+   drm_gem_object_get(_obj->base);
 
mutex_lock(_obj->lock);
WARN_ON(mapping->use == 0);
@@ -282,7 +282,7 @@ void etnaviv_gem_mapping_unreference(struct 
etnaviv_vram_mapping *mapping)
mapping->use -= 1;
mutex_unlock(_obj->lock);
 
-   drm_gem_object_unreference_unlocked(_obj->base);
+   drm_gem_object_put_unlocked(_obj->base);
 }
 
 struct etnaviv_vram_mapping *etnaviv_gem_mapping_get(
@@ -358,7 +358,7 @@ struct etnaviv_vram_mapping *etnaviv_gem_mapping_get(
return ERR_PTR(ret);
 
/* Take a reference on the object */
-   drm_gem_object_reference(obj);
+   drm_gem_object_get(obj);
return mapping;
 }
 
@@ -671,7 +671,7 @@ static struct drm_gem_object *__etnaviv_gem_new(struct 
drm_device *dev,
return obj;
 
 fail:
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(ret);
 }
 
@@ -688,14 +688,14 @@ int etnaviv_gem_new_handle(struct drm_device *dev, struct 
drm_file *file,
 
ret = etnaviv_gem_obj_add(dev, obj);
if (ret < 0) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ret;
}
 
ret = drm_gem_handle_create(file, obj, handle);
 
/* drop reference from allocate - handle holds it now */
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return ret;
 }
@@ -712,7 +712,7 @@ struct drm_gem_object *etnaviv_gem_new(struct drm_device 
*dev,
 
ret = etnaviv_gem_obj_add(dev, obj);
if (ret < 0) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(ret);
}
 
@@ -800,7 +800,7 @@ static void __etnaviv_gem_userptr_get_pages(struct 
work_struct *_work)
}
 
mutex_unlock(_obj->lock);
-   drm_gem_object_unreference_unlocked(_obj->base);
+   drm_gem_object_put_unlocked(_obj->base);
 
mmput(work->mm);
put_task_struct(work->task);
@@ -858,7 +858,7 @@ static int etnaviv_gem_userptr_get_pages(struct 
etnaviv_gem_object *etnaviv_obj)
}
 
get_task_struct(current);
-   drm_gem_object_reference(_obj->base);
+   drm_gem_object_get(_obj->base);
 
work->mm = mm;
work->task = current;
@@ -924,6 +924,6 @@ int etnaviv_gem_new_userptr(struct drm_device *dev, struct 

[PATCH v3 12/28] drm/imx: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/imx/ipuv3-crtc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/imx/ipuv3-crtc.c b/drivers/gpu/drm/imx/ipuv3-crtc.c
index 53e0b24..9a99618 100644
--- a/drivers/gpu/drm/imx/ipuv3-crtc.c
+++ b/drivers/gpu/drm/imx/ipuv3-crtc.c
@@ -115,7 +115,7 @@ static void imx_drm_crtc_reset(struct drm_crtc *crtc)
 
if (crtc->state) {
if (crtc->state->mode_blob)
-   drm_property_unreference_blob(crtc->state->mode_blob);
+   drm_property_blob_put(crtc->state->mode_blob);
 
state = to_imx_crtc_state(crtc->state);
memset(state, 0, sizeof(*state));
-- 
2.7.4



[PATCH v3 03/28] drm/armada: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/armada/armada_crtc.c| 22 +++---
 drivers/gpu/drm/armada/armada_drv.c |  2 +-
 drivers/gpu/drm/armada/armada_fb.c  |  8 
 drivers/gpu/drm/armada/armada_fbdev.c   |  6 +++---
 drivers/gpu/drm/armada/armada_gem.c | 14 +++---
 drivers/gpu/drm/armada/armada_overlay.c |  4 ++--
 6 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/drivers/gpu/drm/armada/armada_crtc.c 
b/drivers/gpu/drm/armada/armada_crtc.c
index 2a4d163..2e065fa 100644
--- a/drivers/gpu/drm/armada/armada_crtc.c
+++ b/drivers/gpu/drm/armada/armada_crtc.c
@@ -298,7 +298,7 @@ static void armada_drm_crtc_finish_fb(struct armada_crtc 
*dcrtc,
 
if (force) {
/* Display is disabled, so just drop the old fb */
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
return;
}
 
@@ -321,7 +321,7 @@ static void armada_drm_crtc_finish_fb(struct armada_crtc 
*dcrtc,
 * the best.  The worst that will happen is the buffer gets
 * reused before it has finished being displayed.
 */
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
 }
 
 static void armada_drm_vblank_off(struct armada_crtc *dcrtc)
@@ -577,7 +577,7 @@ static int armada_drm_crtc_mode_set(struct drm_crtc *crtc,
unsigned i;
bool interlaced;
 
-   drm_framebuffer_reference(crtc->primary->fb);
+   drm_framebuffer_get(crtc->primary->fb);
 
interlaced = !!(adj->flags & DRM_MODE_FLAG_INTERLACE);
 
@@ -718,7 +718,7 @@ static int armada_drm_crtc_mode_set_base(struct drm_crtc 
*crtc, int x, int y,
   MAX_SCHEDULE_TIMEOUT);
 
/* Take a reference to the new fb as we're using it */
-   drm_framebuffer_reference(crtc->primary->fb);
+   drm_framebuffer_get(crtc->primary->fb);
 
/* Update the base in the CRTC */
armada_drm_crtc_update_regs(dcrtc, regs);
@@ -742,7 +742,7 @@ void armada_drm_crtc_plane_disable(struct armada_crtc 
*dcrtc,
 * primary plane.
 */
if (plane->fb)
-   drm_framebuffer_unreference(plane->fb);
+   drm_framebuffer_put(plane->fb);
 
/* Power down the Y/U/V FIFOs */
sram_para1 = CFG_PDWN16x66 | CFG_PDWN32x66;
@@ -947,13 +947,13 @@ static int armada_drm_crtc_cursor_set(struct drm_crtc 
*crtc,
 
/* Must be a kernel-mapped object */
if (!obj->addr) {
-   drm_gem_object_unreference_unlocked(>obj);
+   drm_gem_object_put_unlocked(>obj);
return -EINVAL;
}
 
if (obj->obj.size < w * h * 4) {
DRM_ERROR("buffer is too small\n");
-   drm_gem_object_unreference_unlocked(>obj);
+   drm_gem_object_put_unlocked(>obj);
return -ENOMEM;
}
}
@@ -961,7 +961,7 @@ static int armada_drm_crtc_cursor_set(struct drm_crtc *crtc,
if (dcrtc->cursor_obj) {
dcrtc->cursor_obj->update = NULL;
dcrtc->cursor_obj->update_data = NULL;
-   drm_gem_object_unreference_unlocked(>cursor_obj->obj);
+   drm_gem_object_put_unlocked(>cursor_obj->obj);
}
dcrtc->cursor_obj = obj;
dcrtc->cursor_w = w;
@@ -997,7 +997,7 @@ static void armada_drm_crtc_destroy(struct drm_crtc *crtc)
struct armada_private *priv = crtc->dev->dev_private;
 
if (dcrtc->cursor_obj)
-   drm_gem_object_unreference_unlocked(>cursor_obj->obj);
+   drm_gem_object_put_unlocked(>cursor_obj->obj);
 
priv->dcrtc[dcrtc->num] = NULL;
drm_crtc_cleanup(>crtc);
@@ -1045,12 +1045,12 @@ static int armada_drm_crtc_page_flip(struct drm_crtc 
*crtc,
 * Ensure that we hold a reference on the new framebuffer.
 * This has to match the behaviour in mode_set.
 */
-   drm_framebuffer_reference(fb);
+   drm_framebuffer_get(fb);
 
ret = armada_drm_crtc_queue_frame_work(dcrtc, work);
if (ret) {
/* Undo our reference above */
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
kfree(work);
return ret;
}
diff --git a/drivers/gpu/drm/armada/armada_drv.c

[PATCH v3 03/28] drm/armada: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/armada/armada_crtc.c| 22 +++---
 drivers/gpu/drm/armada/armada_drv.c |  2 +-
 drivers/gpu/drm/armada/armada_fb.c  |  8 
 drivers/gpu/drm/armada/armada_fbdev.c   |  6 +++---
 drivers/gpu/drm/armada/armada_gem.c | 14 +++---
 drivers/gpu/drm/armada/armada_overlay.c |  4 ++--
 6 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/drivers/gpu/drm/armada/armada_crtc.c 
b/drivers/gpu/drm/armada/armada_crtc.c
index 2a4d163..2e065fa 100644
--- a/drivers/gpu/drm/armada/armada_crtc.c
+++ b/drivers/gpu/drm/armada/armada_crtc.c
@@ -298,7 +298,7 @@ static void armada_drm_crtc_finish_fb(struct armada_crtc 
*dcrtc,
 
if (force) {
/* Display is disabled, so just drop the old fb */
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
return;
}
 
@@ -321,7 +321,7 @@ static void armada_drm_crtc_finish_fb(struct armada_crtc 
*dcrtc,
 * the best.  The worst that will happen is the buffer gets
 * reused before it has finished being displayed.
 */
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
 }
 
 static void armada_drm_vblank_off(struct armada_crtc *dcrtc)
@@ -577,7 +577,7 @@ static int armada_drm_crtc_mode_set(struct drm_crtc *crtc,
unsigned i;
bool interlaced;
 
-   drm_framebuffer_reference(crtc->primary->fb);
+   drm_framebuffer_get(crtc->primary->fb);
 
interlaced = !!(adj->flags & DRM_MODE_FLAG_INTERLACE);
 
@@ -718,7 +718,7 @@ static int armada_drm_crtc_mode_set_base(struct drm_crtc 
*crtc, int x, int y,
   MAX_SCHEDULE_TIMEOUT);
 
/* Take a reference to the new fb as we're using it */
-   drm_framebuffer_reference(crtc->primary->fb);
+   drm_framebuffer_get(crtc->primary->fb);
 
/* Update the base in the CRTC */
armada_drm_crtc_update_regs(dcrtc, regs);
@@ -742,7 +742,7 @@ void armada_drm_crtc_plane_disable(struct armada_crtc 
*dcrtc,
 * primary plane.
 */
if (plane->fb)
-   drm_framebuffer_unreference(plane->fb);
+   drm_framebuffer_put(plane->fb);
 
/* Power down the Y/U/V FIFOs */
sram_para1 = CFG_PDWN16x66 | CFG_PDWN32x66;
@@ -947,13 +947,13 @@ static int armada_drm_crtc_cursor_set(struct drm_crtc 
*crtc,
 
/* Must be a kernel-mapped object */
if (!obj->addr) {
-   drm_gem_object_unreference_unlocked(>obj);
+   drm_gem_object_put_unlocked(>obj);
return -EINVAL;
}
 
if (obj->obj.size < w * h * 4) {
DRM_ERROR("buffer is too small\n");
-   drm_gem_object_unreference_unlocked(>obj);
+   drm_gem_object_put_unlocked(>obj);
return -ENOMEM;
}
}
@@ -961,7 +961,7 @@ static int armada_drm_crtc_cursor_set(struct drm_crtc *crtc,
if (dcrtc->cursor_obj) {
dcrtc->cursor_obj->update = NULL;
dcrtc->cursor_obj->update_data = NULL;
-   drm_gem_object_unreference_unlocked(>cursor_obj->obj);
+   drm_gem_object_put_unlocked(>cursor_obj->obj);
}
dcrtc->cursor_obj = obj;
dcrtc->cursor_w = w;
@@ -997,7 +997,7 @@ static void armada_drm_crtc_destroy(struct drm_crtc *crtc)
struct armada_private *priv = crtc->dev->dev_private;
 
if (dcrtc->cursor_obj)
-   drm_gem_object_unreference_unlocked(>cursor_obj->obj);
+   drm_gem_object_put_unlocked(>cursor_obj->obj);
 
priv->dcrtc[dcrtc->num] = NULL;
drm_crtc_cleanup(>crtc);
@@ -1045,12 +1045,12 @@ static int armada_drm_crtc_page_flip(struct drm_crtc 
*crtc,
 * Ensure that we hold a reference on the new framebuffer.
 * This has to match the behaviour in mode_set.
 */
-   drm_framebuffer_reference(fb);
+   drm_framebuffer_get(fb);
 
ret = armada_drm_crtc_queue_frame_work(dcrtc, work);
if (ret) {
/* Undo our reference above */
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
kfree(work);
return ret;
}
diff --git a/drivers/gpu/drm/armada/armada_drv.c 
b/drivers/gpu/drm/armada/armada_

[PATCH v3 04/28] drm/ast: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
Acked-by: Joel Stanley <j...@jms.id.au>
---
 drivers/gpu/drm/ast/ast_fb.c   |  2 +-
 drivers/gpu/drm/ast/ast_main.c | 10 +-
 drivers/gpu/drm/ast/ast_mode.c |  6 +++---
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/ast/ast_fb.c b/drivers/gpu/drm/ast/ast_fb.c
index 9052ebe..0cd827e 100644
--- a/drivers/gpu/drm/ast/ast_fb.c
+++ b/drivers/gpu/drm/ast/ast_fb.c
@@ -266,7 +266,7 @@ static void ast_fbdev_destroy(struct drm_device *dev,
drm_fb_helper_unregister_fbi(>helper);
 
if (afb->obj) {
-   drm_gem_object_unreference_unlocked(afb->obj);
+   drm_gem_object_put_unlocked(afb->obj);
afb->obj = NULL;
}
drm_fb_helper_fini(>helper);
diff --git a/drivers/gpu/drm/ast/ast_main.c b/drivers/gpu/drm/ast/ast_main.c
index 262c2c0..cb05e8e 100644
--- a/drivers/gpu/drm/ast/ast_main.c
+++ b/drivers/gpu/drm/ast/ast_main.c
@@ -387,7 +387,7 @@ static void ast_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct ast_framebuffer *ast_fb = to_ast_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(ast_fb->obj);
+   drm_gem_object_put_unlocked(ast_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(fb);
 }
@@ -429,13 +429,13 @@ ast_user_framebuffer_create(struct drm_device *dev,
 
ast_fb = kzalloc(sizeof(*ast_fb), GFP_KERNEL);
if (!ast_fb) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(-ENOMEM);
}
 
ret = ast_framebuffer_init(dev, ast_fb, mode_cmd, obj);
if (ret) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
kfree(ast_fb);
return ERR_PTR(ret);
}
@@ -627,7 +627,7 @@ int ast_dumb_create(struct drm_file *file,
return ret;
 
ret = drm_gem_handle_create(file, gobj, );
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
if (ret)
return ret;
 
@@ -675,7 +675,7 @@ ast_dumb_mmap_offset(struct drm_file *file,
bo = gem_to_ast_bo(obj);
*offset = ast_bo_mmap_offset(bo);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return 0;
 
diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
index 724c16b..fea790b 100644
--- a/drivers/gpu/drm/ast/ast_mode.c
+++ b/drivers/gpu/drm/ast/ast_mode.c
@@ -934,7 +934,7 @@ static void ast_cursor_fini(struct drm_device *dev)
 {
struct ast_private *ast = dev->dev_private;
ttm_bo_kunmap(>cache_kmap);
-   drm_gem_object_unreference_unlocked(ast->cursor_cache);
+   drm_gem_object_put_unlocked(ast->cursor_cache);
 }
 
 int ast_mode_init(struct drm_device *dev)
@@ -1199,10 +1199,10 @@ static int ast_cursor_set(struct drm_crtc *crtc,
 
ast_show_cursor(crtc);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return 0;
 fail:
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ret;
 }
 
-- 
2.7.4



[PATCH v3 04/28] drm/ast: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
Acked-by: Joel Stanley 
---
 drivers/gpu/drm/ast/ast_fb.c   |  2 +-
 drivers/gpu/drm/ast/ast_main.c | 10 +-
 drivers/gpu/drm/ast/ast_mode.c |  6 +++---
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/ast/ast_fb.c b/drivers/gpu/drm/ast/ast_fb.c
index 9052ebe..0cd827e 100644
--- a/drivers/gpu/drm/ast/ast_fb.c
+++ b/drivers/gpu/drm/ast/ast_fb.c
@@ -266,7 +266,7 @@ static void ast_fbdev_destroy(struct drm_device *dev,
drm_fb_helper_unregister_fbi(>helper);
 
if (afb->obj) {
-   drm_gem_object_unreference_unlocked(afb->obj);
+   drm_gem_object_put_unlocked(afb->obj);
afb->obj = NULL;
}
drm_fb_helper_fini(>helper);
diff --git a/drivers/gpu/drm/ast/ast_main.c b/drivers/gpu/drm/ast/ast_main.c
index 262c2c0..cb05e8e 100644
--- a/drivers/gpu/drm/ast/ast_main.c
+++ b/drivers/gpu/drm/ast/ast_main.c
@@ -387,7 +387,7 @@ static void ast_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct ast_framebuffer *ast_fb = to_ast_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(ast_fb->obj);
+   drm_gem_object_put_unlocked(ast_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(fb);
 }
@@ -429,13 +429,13 @@ ast_user_framebuffer_create(struct drm_device *dev,
 
ast_fb = kzalloc(sizeof(*ast_fb), GFP_KERNEL);
if (!ast_fb) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(-ENOMEM);
}
 
ret = ast_framebuffer_init(dev, ast_fb, mode_cmd, obj);
if (ret) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
kfree(ast_fb);
return ERR_PTR(ret);
}
@@ -627,7 +627,7 @@ int ast_dumb_create(struct drm_file *file,
return ret;
 
ret = drm_gem_handle_create(file, gobj, );
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
if (ret)
return ret;
 
@@ -675,7 +675,7 @@ ast_dumb_mmap_offset(struct drm_file *file,
bo = gem_to_ast_bo(obj);
*offset = ast_bo_mmap_offset(bo);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return 0;
 
diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
index 724c16b..fea790b 100644
--- a/drivers/gpu/drm/ast/ast_mode.c
+++ b/drivers/gpu/drm/ast/ast_mode.c
@@ -934,7 +934,7 @@ static void ast_cursor_fini(struct drm_device *dev)
 {
struct ast_private *ast = dev->dev_private;
ttm_bo_kunmap(>cache_kmap);
-   drm_gem_object_unreference_unlocked(ast->cursor_cache);
+   drm_gem_object_put_unlocked(ast->cursor_cache);
 }
 
 int ast_mode_init(struct drm_device *dev)
@@ -1199,10 +1199,10 @@ static int ast_cursor_set(struct drm_crtc *crtc,
 
ast_show_cursor(crtc);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return 0;
 fail:
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ret;
 }
 
-- 
2.7.4



[PATCH v3 00/28] DRM API Conversions

2017-08-11 Thread Cihangir Akturk
Changes since v2:

- Patch series is based on *drm-misc-next* as suggested by Sean Paul.

- Dropped patch 05 (drm/atmel-hlcdc) and patch 25 (drm/vc4) from v2,
  since they were already pulled in the drm-misc-next

Changes since v1:

- This time patches were generated with coccinelle instead of my own
  script, as suggested by Daniel Vetter.

- Fixed the typo in commit messages. s/adn/and

Note: I've included r-b, a-b tags, as these patches are identical to v1
except for the file: drivers/gpu/drm/i915/i915_gem_object.h

This patch set replaces the occurrences of drm_*_reference() and
drm_*_unreference() with the new drm_*_get() and drm_*_put() functions.
All patches in the series do the same thing, converting to the new APIs.
I created patches per DRM driver as suggested by Daniel Vetter.

This patch set was generated by scripts/coccinelle/api/drm-get-put.cocci

Previous thread can be reached at:
https://marc.info/?l=dri-devel=150178288816047

Background:

In the kernel, reference counting APIs use *_get(), *_put() style naming
to reference-count the objects. But DRM subsystem uses a different
naming for them such as *_reference(), *_unreference() which is
inconsistent with the other reference counting APIs in the kernel. To
solve this consistency issue, Thierry Reding introduced a couple of
functions and compatibility aliases in the following commits for them.

commit 020a218f95bd3ceff7dd1022ff7ebc0497bc7bf9
Author: Thierry Reding <tred...@nvidia.com>
Date:   Tue Feb 28 15:46:38 2017 +0100

drm: Introduce drm_mode_object_{get,put}()

commit ad09360750afa18a0a0ce0253d6ea6033abc22e7
Author: Thierry Reding <tred...@nvidia.com>
Date:   Tue Feb 28 15:46:39 2017 +0100

drm: Introduce drm_connector_{get,put}()

commit a4a69da06bc11a937a6e417938b1bb698ee1fa46
Author: Thierry Reding <tred...@nvidia.com>
Date:   Tue Feb 28 15:46:40 2017 +0100

drm: Introduce drm_framebuffer_{get,put}()

commit e6b62714e87c8811d5564b6a0738dcde63a51774
Author: Thierry Reding <tred...@nvidia.com>
Date:   Tue Feb 28 15:46:41 2017 +0100

drm: Introduce drm_gem_object_{get,put}()

commit 6472e5090be7c78749a3c279b4faae87ab835c40
Author: Thierry Reding <tred...@nvidia.com>
Date:   Tue Feb 28 15:46:42 2017 +0100

drm: Introduce drm_property_blob_{get,put}()

Cihangir Akturk (28):
  drm/amdgpu: switch to drm_*_get(), drm_*_put() helpers
  drm: mali-dp: switch to drm_*_get(), drm_*_put() helpers
  drm/armada: switch to drm_*_get(), drm_*_put() helpers
  drm/ast: switch to drm_*_get(), drm_*_put() helpers
  drm/bochs: switch to drm_*_get(), drm_*_put() helpers
  drm/cirrus: switch to drm_*_get(), drm_*_put() helpers
  drm/etnaviv: switch to drm_*_get(), drm_*_put() helpers
  drm/exynos: switch to drm_*_get(), drm_*_put() helpers
  drm/gma500: switch to drm_*_get(), drm_*_put() helpers
  drm/hisilicon: switch to drm_*_get(), drm_*_put() helpers
  drm/i915: switch to drm_*_get(), drm_*_put() helpers
  drm/imx: switch to drm_*_get(), drm_*_put() helpers
  drm/mediatek: switch to drm_*_get(), drm_*_put() helpers
  drm/mgag200: switch to drm_*_get(), drm_*_put() helpers
  drm/msm: switch to drm_*_get(), drm_*_put() helpers
  drm/nouveau: switch to drm_*_get(), drm_*_put() helpers
  drm/omapdrm: switch to drm_*_get(), drm_*_put() helpers
  drm/qxl: switch to drm_*_get(), drm_*_put() helpers
  drm/radeon: switch to drm_*_get(), drm_*_put() helpers
  drm/rockchip: switch to drm_*_get(), drm_*_put() helpers
  drm/tegra: switch to drm_*_get(), drm_*_put() helpers
  drm/tilcdc: switch to drm_*_get(), drm_*_put() helpers
  drm/udl: switch to drm_*_get(), drm_*_put() helpers
  drm/vc4: switch to drm_*_get(), drm_*_put() helpers
  drm/vgem: switch to drm_*_get(), drm_*_put() helpers
  drm/virtio: switch to drm_*_get(), drm_*_put() helpers
  drm/vmwgfx: switch to drm_*_get(), drm_*_put() helpers
  drm: vboxvideo: switch to drm_*_get(), drm_*_put() helpers

 drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c   |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c|  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c   |  6 ++---
 drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c|  4 +--
 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c   | 22 -
 drivers/gpu/drm/amd/amdgpu/dce_v10_0.c|  6 ++---
 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c|  6 ++---
 drivers/gpu/drm/amd/amdgpu/dce_v6_0.c |  6 ++---
 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c |  6 ++---
 drivers/gpu/drm/arm/malidp_planes.c   |  2 +-
 drivers/gpu/drm/armada/armada_crtc.c  | 22 -
 drivers/gpu/drm/armada/armada_drv.c   |  2 +-
 drivers/gpu/drm/armada/armada_fb.c|  8 +++---
 drivers/gpu/drm/armada/armada_fbdev.c |  6 ++---
 drivers/gpu/drm/armada/armada_gem.c   | 14 +--
 drivers/gpu/drm/armada/armada_overlay.c   |  4 +--
 drivers/gpu/drm/ast/ast_fb.c  |  2 +-
 

[PATCH v3 00/28] DRM API Conversions

2017-08-11 Thread Cihangir Akturk
Changes since v2:

- Patch series is based on *drm-misc-next* as suggested by Sean Paul.

- Dropped patch 05 (drm/atmel-hlcdc) and patch 25 (drm/vc4) from v2,
  since they were already pulled in the drm-misc-next

Changes since v1:

- This time patches were generated with coccinelle instead of my own
  script, as suggested by Daniel Vetter.

- Fixed the typo in commit messages. s/adn/and

Note: I've included r-b, a-b tags, as these patches are identical to v1
except for the file: drivers/gpu/drm/i915/i915_gem_object.h

This patch set replaces the occurrences of drm_*_reference() and
drm_*_unreference() with the new drm_*_get() and drm_*_put() functions.
All patches in the series do the same thing, converting to the new APIs.
I created patches per DRM driver as suggested by Daniel Vetter.

This patch set was generated by scripts/coccinelle/api/drm-get-put.cocci

Previous thread can be reached at:
https://marc.info/?l=dri-devel=150178288816047

Background:

In the kernel, reference counting APIs use *_get(), *_put() style naming
to reference-count the objects. But DRM subsystem uses a different
naming for them such as *_reference(), *_unreference() which is
inconsistent with the other reference counting APIs in the kernel. To
solve this consistency issue, Thierry Reding introduced a couple of
functions and compatibility aliases in the following commits for them.

commit 020a218f95bd3ceff7dd1022ff7ebc0497bc7bf9
Author: Thierry Reding 
Date:   Tue Feb 28 15:46:38 2017 +0100

drm: Introduce drm_mode_object_{get,put}()

commit ad09360750afa18a0a0ce0253d6ea6033abc22e7
Author: Thierry Reding 
Date:   Tue Feb 28 15:46:39 2017 +0100

drm: Introduce drm_connector_{get,put}()

commit a4a69da06bc11a937a6e417938b1bb698ee1fa46
Author: Thierry Reding 
Date:   Tue Feb 28 15:46:40 2017 +0100

drm: Introduce drm_framebuffer_{get,put}()

commit e6b62714e87c8811d5564b6a0738dcde63a51774
Author: Thierry Reding 
Date:   Tue Feb 28 15:46:41 2017 +0100

drm: Introduce drm_gem_object_{get,put}()

commit 6472e5090be7c78749a3c279b4faae87ab835c40
Author: Thierry Reding 
Date:   Tue Feb 28 15:46:42 2017 +0100

drm: Introduce drm_property_blob_{get,put}()

Cihangir Akturk (28):
  drm/amdgpu: switch to drm_*_get(), drm_*_put() helpers
  drm: mali-dp: switch to drm_*_get(), drm_*_put() helpers
  drm/armada: switch to drm_*_get(), drm_*_put() helpers
  drm/ast: switch to drm_*_get(), drm_*_put() helpers
  drm/bochs: switch to drm_*_get(), drm_*_put() helpers
  drm/cirrus: switch to drm_*_get(), drm_*_put() helpers
  drm/etnaviv: switch to drm_*_get(), drm_*_put() helpers
  drm/exynos: switch to drm_*_get(), drm_*_put() helpers
  drm/gma500: switch to drm_*_get(), drm_*_put() helpers
  drm/hisilicon: switch to drm_*_get(), drm_*_put() helpers
  drm/i915: switch to drm_*_get(), drm_*_put() helpers
  drm/imx: switch to drm_*_get(), drm_*_put() helpers
  drm/mediatek: switch to drm_*_get(), drm_*_put() helpers
  drm/mgag200: switch to drm_*_get(), drm_*_put() helpers
  drm/msm: switch to drm_*_get(), drm_*_put() helpers
  drm/nouveau: switch to drm_*_get(), drm_*_put() helpers
  drm/omapdrm: switch to drm_*_get(), drm_*_put() helpers
  drm/qxl: switch to drm_*_get(), drm_*_put() helpers
  drm/radeon: switch to drm_*_get(), drm_*_put() helpers
  drm/rockchip: switch to drm_*_get(), drm_*_put() helpers
  drm/tegra: switch to drm_*_get(), drm_*_put() helpers
  drm/tilcdc: switch to drm_*_get(), drm_*_put() helpers
  drm/udl: switch to drm_*_get(), drm_*_put() helpers
  drm/vc4: switch to drm_*_get(), drm_*_put() helpers
  drm/vgem: switch to drm_*_get(), drm_*_put() helpers
  drm/virtio: switch to drm_*_get(), drm_*_put() helpers
  drm/vmwgfx: switch to drm_*_get(), drm_*_put() helpers
  drm: vboxvideo: switch to drm_*_get(), drm_*_put() helpers

 drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c   |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c|  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c   |  6 ++---
 drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c|  4 +--
 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c   | 22 -
 drivers/gpu/drm/amd/amdgpu/dce_v10_0.c|  6 ++---
 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c|  6 ++---
 drivers/gpu/drm/amd/amdgpu/dce_v6_0.c |  6 ++---
 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c |  6 ++---
 drivers/gpu/drm/arm/malidp_planes.c   |  2 +-
 drivers/gpu/drm/armada/armada_crtc.c  | 22 -
 drivers/gpu/drm/armada/armada_drv.c   |  2 +-
 drivers/gpu/drm/armada/armada_fb.c|  8 +++---
 drivers/gpu/drm/armada/armada_fbdev.c |  6 ++---
 drivers/gpu/drm/armada/armada_gem.c   | 14 +--
 drivers/gpu/drm/armada/armada_overlay.c   |  4 +--
 drivers/gpu/drm/ast/ast_fb.c  |  2 +-
 drivers/gpu/drm/ast/ast_main.c| 10 
 drivers/gpu/drm/ast/ast_mode.c|  6 ++---
 drivers

[PATCH v3 01/28] drm/amdgpu: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
Reviewed-by: Christian König <christian.koe...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c  |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c |  6 +++---
 drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c  |  4 ++--
 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 22 +++---
 drivers/gpu/drm/amd/amdgpu/dce_v10_0.c  |  6 +++---
 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c  |  6 +++---
 drivers/gpu/drm/amd/amdgpu/dce_v6_0.c   |  6 +++---
 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c   |  6 +++---
 9 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
index f621ee1..2cf465f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
@@ -136,7 +136,7 @@ static int amdgpu_bo_list_set(struct amdgpu_device *adev,
}
 
bo = amdgpu_bo_ref(gem_to_amdgpu_bo(gobj));
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
 
usermm = amdgpu_ttm_tt_get_usermm(bo->tbo.ttm);
if (usermm) {
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
index 5599c01..0b8406c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
@@ -54,7 +54,7 @@ static int amdgpu_cs_user_fence_chunk(struct amdgpu_cs_parser 
*p,
 
*offset = data->offset;
 
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
 
if (amdgpu_ttm_tt_get_usermm(p->uf_entry.robj->tbo.ttm)) {
amdgpu_bo_unref(>uf_entry.robj);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
index cdf2ab2..6ad2432 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
@@ -482,7 +482,7 @@ static void amdgpu_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct amdgpu_framebuffer *amdgpu_fb = to_amdgpu_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(amdgpu_fb->obj);
+   drm_gem_object_put_unlocked(amdgpu_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(amdgpu_fb);
 }
@@ -542,14 +542,14 @@ amdgpu_user_framebuffer_create(struct drm_device *dev,
 
amdgpu_fb = kzalloc(sizeof(*amdgpu_fb), GFP_KERNEL);
if (amdgpu_fb == NULL) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(-ENOMEM);
}
 
ret = amdgpu_framebuffer_init(dev, amdgpu_fb, mode_cmd, obj);
if (ret) {
kfree(amdgpu_fb);
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(ret);
}
 
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
index 0a8ee24..4565c22 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
@@ -118,7 +118,7 @@ static void amdgpufb_destroy_pinned_object(struct 
drm_gem_object *gobj)
amdgpu_bo_unpin(abo);
amdgpu_bo_unreserve(abo);
}
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
 }
 
 static int amdgpufb_create_pinned_object(struct amdgpu_fbdev *rfbdev,
@@ -280,7 +280,7 @@ static int amdgpufb_create(struct drm_fb_helper *helper,
 
}
if (fb && ret) {
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
drm_framebuffer_unregister_private(fb);
drm_framebuffer_cleanup(fb);
kfree(fb);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
index 621f739..2181cf1 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
@@ -103,7 +103,7 @@ void amdgpu_gem_force_release(struct amdgpu_device *adev)
spin_lock(>table_lock);
idr_for_each_entry(>object_idr, gobj, handle) {
WARN_ONCE(1, "And also active allocations!\n");
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);

[PATCH v3 01/28] drm/amdgpu: switch to drm_*_get(), drm_*_put() helpers

2017-08-11 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
Reviewed-by: Christian König 
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c  |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c |  6 +++---
 drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c  |  4 ++--
 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 22 +++---
 drivers/gpu/drm/amd/amdgpu/dce_v10_0.c  |  6 +++---
 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c  |  6 +++---
 drivers/gpu/drm/amd/amdgpu/dce_v6_0.c   |  6 +++---
 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c   |  6 +++---
 9 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
index f621ee1..2cf465f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
@@ -136,7 +136,7 @@ static int amdgpu_bo_list_set(struct amdgpu_device *adev,
}
 
bo = amdgpu_bo_ref(gem_to_amdgpu_bo(gobj));
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
 
usermm = amdgpu_ttm_tt_get_usermm(bo->tbo.ttm);
if (usermm) {
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
index 5599c01..0b8406c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
@@ -54,7 +54,7 @@ static int amdgpu_cs_user_fence_chunk(struct amdgpu_cs_parser 
*p,
 
*offset = data->offset;
 
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
 
if (amdgpu_ttm_tt_get_usermm(p->uf_entry.robj->tbo.ttm)) {
amdgpu_bo_unref(>uf_entry.robj);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
index cdf2ab2..6ad2432 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
@@ -482,7 +482,7 @@ static void amdgpu_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct amdgpu_framebuffer *amdgpu_fb = to_amdgpu_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(amdgpu_fb->obj);
+   drm_gem_object_put_unlocked(amdgpu_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(amdgpu_fb);
 }
@@ -542,14 +542,14 @@ amdgpu_user_framebuffer_create(struct drm_device *dev,
 
amdgpu_fb = kzalloc(sizeof(*amdgpu_fb), GFP_KERNEL);
if (amdgpu_fb == NULL) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(-ENOMEM);
}
 
ret = amdgpu_framebuffer_init(dev, amdgpu_fb, mode_cmd, obj);
if (ret) {
kfree(amdgpu_fb);
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(ret);
}
 
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
index 0a8ee24..4565c22 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
@@ -118,7 +118,7 @@ static void amdgpufb_destroy_pinned_object(struct 
drm_gem_object *gobj)
amdgpu_bo_unpin(abo);
amdgpu_bo_unreserve(abo);
}
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
 }
 
 static int amdgpufb_create_pinned_object(struct amdgpu_fbdev *rfbdev,
@@ -280,7 +280,7 @@ static int amdgpufb_create(struct drm_fb_helper *helper,
 
}
if (fb && ret) {
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
drm_framebuffer_unregister_private(fb);
drm_framebuffer_cleanup(fb);
kfree(fb);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
index 621f739..2181cf1 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
@@ -103,7 +103,7 @@ void amdgpu_gem_force_release(struct amdgpu_device *adev)
spin_lock(>table_lock);
idr_for_each_entry(>object_idr, gobj, handle) {
WARN_ONCE(1, "And also active allocations!\n");
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
}
idr_destroy(>object_idr);
  

Re: [PATCH v2 21/29] drm/rockchip: switch to drm_*_get(), drm_*_put() helpers

2017-08-10 Thread Cihangir Akturk
On Thu, Aug 10, 2017 at 02:16:08PM -0400, Sean Paul wrote:
> On Thu, Aug 10, 2017 at 03:10:04PM +0300, Cihangir Akturk wrote:
> > Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
> > and drm_*_unreference() helpers.
> > 
> > drm_*_reference() and drm_*_unreference() functions are just
> > compatibility alias for drm_*_get() and drm_*_put() and should not be
> > used by new code. So convert all users of compatibility functions to
> > use the new APIs.
> > 
> > Generated by: scripts/coccinelle/api/drm-get-put.cocci
> > 
> > Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
> 
> Hi Cihangir,
> Thank you for the patch. Unfortunately it does not apply to drm-misc-next. 
> Could
> you please resend with conflicts resolved?

OK, I'll send a v3 based on drm-next. And should I drop patches from
v1 already pulled in drm-next?

Thanks, Cihangir

> 
> Thanks,
> 
> Sean
> 


Re: [PATCH v2 21/29] drm/rockchip: switch to drm_*_get(), drm_*_put() helpers

2017-08-10 Thread Cihangir Akturk
On Thu, Aug 10, 2017 at 02:16:08PM -0400, Sean Paul wrote:
> On Thu, Aug 10, 2017 at 03:10:04PM +0300, Cihangir Akturk wrote:
> > Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
> > and drm_*_unreference() helpers.
> > 
> > drm_*_reference() and drm_*_unreference() functions are just
> > compatibility alias for drm_*_get() and drm_*_put() and should not be
> > used by new code. So convert all users of compatibility functions to
> > use the new APIs.
> > 
> > Generated by: scripts/coccinelle/api/drm-get-put.cocci
> > 
> > Signed-off-by: Cihangir Akturk 
> 
> Hi Cihangir,
> Thank you for the patch. Unfortunately it does not apply to drm-misc-next. 
> Could
> you please resend with conflicts resolved?

OK, I'll send a v3 based on drm-next. And should I drop patches from
v1 already pulled in drm-next?

Thanks, Cihangir

> 
> Thanks,
> 
> Sean
> 


[PATCH] coccicheck: improve pattern for getting relative path

2017-08-10 Thread Cihangir Akturk
When invoked with V=1, coccicheck script prints the information about
which semantic patch (*.cocci file) used for this operation.  Actually,
it prints out the relative path of the related semantic patch. The
script uses sed to remove the source tree part from cocci file path like
so:

FILE=`echo $COCCI | sed "s|$srctree/||"`

This pattern works well most of the time. But in cases where $COCCI
doesn't start with "./" characters, it doesn't remove the right part.

Consider the following scenario:

$ make coccicheck COCCI=scripts/coccinelle/api/drm-get-put.cocci \
MODE=patch M=drivers/staging V=1

where

COCCI=scripts/coccinelle/api/drm-get-put.cocci and srctree=.

In this case, out pattern matches the first "s/", and we end up
assigning "scriptcoccinelle/api/drm-get-put.cocci" to $FILE.

Fix this by adding a caret ^ at the beginning of regex pattern, so that
it matches only start of the path.

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 scripts/coccicheck | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/coccicheck b/scripts/coccicheck
index ec487b8..8de4245 100755
--- a/scripts/coccicheck
+++ b/scripts/coccicheck
@@ -193,7 +193,7 @@ coccinelle () {
 
 if [ $VERBOSE -ne 0 -a $ONLINE -eq 0 ] ; then
 
-   FILE=`echo $COCCI | sed "s|$srctree/||"`
+   FILE=`echo $COCCI | sed "s|^$srctree/||"`
 
echo "Processing `basename $COCCI`"
echo "with option(s) \"$OPT\""
-- 
2.7.4



[PATCH] coccicheck: improve pattern for getting relative path

2017-08-10 Thread Cihangir Akturk
When invoked with V=1, coccicheck script prints the information about
which semantic patch (*.cocci file) used for this operation.  Actually,
it prints out the relative path of the related semantic patch. The
script uses sed to remove the source tree part from cocci file path like
so:

FILE=`echo $COCCI | sed "s|$srctree/||"`

This pattern works well most of the time. But in cases where $COCCI
doesn't start with "./" characters, it doesn't remove the right part.

Consider the following scenario:

$ make coccicheck COCCI=scripts/coccinelle/api/drm-get-put.cocci \
MODE=patch M=drivers/staging V=1

where

COCCI=scripts/coccinelle/api/drm-get-put.cocci and srctree=.

In this case, out pattern matches the first "s/", and we end up
assigning "scriptcoccinelle/api/drm-get-put.cocci" to $FILE.

Fix this by adding a caret ^ at the beginning of regex pattern, so that
it matches only start of the path.

Signed-off-by: Cihangir Akturk 
---
 scripts/coccicheck | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/coccicheck b/scripts/coccicheck
index ec487b8..8de4245 100755
--- a/scripts/coccicheck
+++ b/scripts/coccicheck
@@ -193,7 +193,7 @@ coccinelle () {
 
 if [ $VERBOSE -ne 0 -a $ONLINE -eq 0 ] ; then
 
-   FILE=`echo $COCCI | sed "s|$srctree/||"`
+   FILE=`echo $COCCI | sed "s|^$srctree/||"`
 
echo "Processing `basename $COCCI`"
echo "with option(s) \"$OPT\""
-- 
2.7.4



[PATCH v2 01/29] drm/amdgpu: switch to drm_*_get(), drm_*_put() helpers

2017-08-10 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
Reviewed-by: Christian König <christian.koe...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c  |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c |  6 +++---
 drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c  |  4 ++--
 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 22 +++---
 drivers/gpu/drm/amd/amdgpu/dce_v10_0.c  |  6 +++---
 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c  |  6 +++---
 drivers/gpu/drm/amd/amdgpu/dce_v6_0.c   |  6 +++---
 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c   |  6 +++---
 9 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
index f621ee1..2cf465f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
@@ -136,7 +136,7 @@ static int amdgpu_bo_list_set(struct amdgpu_device *adev,
}
 
bo = amdgpu_bo_ref(gem_to_amdgpu_bo(gobj));
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
 
usermm = amdgpu_ttm_tt_get_usermm(bo->tbo.ttm);
if (usermm) {
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
index 5599c01..0b8406c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
@@ -54,7 +54,7 @@ static int amdgpu_cs_user_fence_chunk(struct amdgpu_cs_parser 
*p,
 
*offset = data->offset;
 
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
 
if (amdgpu_ttm_tt_get_usermm(p->uf_entry.robj->tbo.ttm)) {
amdgpu_bo_unref(>uf_entry.robj);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
index cdf2ab2..6ad2432 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
@@ -482,7 +482,7 @@ static void amdgpu_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct amdgpu_framebuffer *amdgpu_fb = to_amdgpu_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(amdgpu_fb->obj);
+   drm_gem_object_put_unlocked(amdgpu_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(amdgpu_fb);
 }
@@ -542,14 +542,14 @@ amdgpu_user_framebuffer_create(struct drm_device *dev,
 
amdgpu_fb = kzalloc(sizeof(*amdgpu_fb), GFP_KERNEL);
if (amdgpu_fb == NULL) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(-ENOMEM);
}
 
ret = amdgpu_framebuffer_init(dev, amdgpu_fb, mode_cmd, obj);
if (ret) {
kfree(amdgpu_fb);
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(ret);
}
 
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
index c0d8c6f..f29a5fe 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
@@ -118,7 +118,7 @@ static void amdgpufb_destroy_pinned_object(struct 
drm_gem_object *gobj)
amdgpu_bo_unpin(abo);
amdgpu_bo_unreserve(abo);
}
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
 }
 
 static int amdgpufb_create_pinned_object(struct amdgpu_fbdev *rfbdev,
@@ -281,7 +281,7 @@ static int amdgpufb_create(struct drm_fb_helper *helper,
 
}
if (fb && ret) {
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
drm_framebuffer_unregister_private(fb);
drm_framebuffer_cleanup(fb);
kfree(fb);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
index 621f739..2181cf1 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
@@ -103,7 +103,7 @@ void amdgpu_gem_force_release(struct amdgpu_device *adev)
spin_lock(>table_lock);
idr_for_each_entry(>object_idr, gobj, handle) {
WARN_ONCE(1, "And also active allocations!\n");
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);

[PATCH v2 01/29] drm/amdgpu: switch to drm_*_get(), drm_*_put() helpers

2017-08-10 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
Reviewed-by: Christian König 
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c  |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c |  6 +++---
 drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c  |  4 ++--
 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 22 +++---
 drivers/gpu/drm/amd/amdgpu/dce_v10_0.c  |  6 +++---
 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c  |  6 +++---
 drivers/gpu/drm/amd/amdgpu/dce_v6_0.c   |  6 +++---
 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c   |  6 +++---
 9 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
index f621ee1..2cf465f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
@@ -136,7 +136,7 @@ static int amdgpu_bo_list_set(struct amdgpu_device *adev,
}
 
bo = amdgpu_bo_ref(gem_to_amdgpu_bo(gobj));
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
 
usermm = amdgpu_ttm_tt_get_usermm(bo->tbo.ttm);
if (usermm) {
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
index 5599c01..0b8406c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
@@ -54,7 +54,7 @@ static int amdgpu_cs_user_fence_chunk(struct amdgpu_cs_parser 
*p,
 
*offset = data->offset;
 
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
 
if (amdgpu_ttm_tt_get_usermm(p->uf_entry.robj->tbo.ttm)) {
amdgpu_bo_unref(>uf_entry.robj);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
index cdf2ab2..6ad2432 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
@@ -482,7 +482,7 @@ static void amdgpu_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct amdgpu_framebuffer *amdgpu_fb = to_amdgpu_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(amdgpu_fb->obj);
+   drm_gem_object_put_unlocked(amdgpu_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(amdgpu_fb);
 }
@@ -542,14 +542,14 @@ amdgpu_user_framebuffer_create(struct drm_device *dev,
 
amdgpu_fb = kzalloc(sizeof(*amdgpu_fb), GFP_KERNEL);
if (amdgpu_fb == NULL) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(-ENOMEM);
}
 
ret = amdgpu_framebuffer_init(dev, amdgpu_fb, mode_cmd, obj);
if (ret) {
kfree(amdgpu_fb);
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(ret);
}
 
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
index c0d8c6f..f29a5fe 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
@@ -118,7 +118,7 @@ static void amdgpufb_destroy_pinned_object(struct 
drm_gem_object *gobj)
amdgpu_bo_unpin(abo);
amdgpu_bo_unreserve(abo);
}
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
 }
 
 static int amdgpufb_create_pinned_object(struct amdgpu_fbdev *rfbdev,
@@ -281,7 +281,7 @@ static int amdgpufb_create(struct drm_fb_helper *helper,
 
}
if (fb && ret) {
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
drm_framebuffer_unregister_private(fb);
drm_framebuffer_cleanup(fb);
kfree(fb);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
index 621f739..2181cf1 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
@@ -103,7 +103,7 @@ void amdgpu_gem_force_release(struct amdgpu_device *adev)
spin_lock(>table_lock);
idr_for_each_entry(>object_idr, gobj, handle) {
WARN_ONCE(1, "And also active allocations!\n");
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
}
idr_destroy(>object_idr);
  

[PATCH v2 03/29] drm/armada: switch to drm_*_get(), drm_*_put() helpers

2017-08-10 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/armada/armada_crtc.c| 22 +++---
 drivers/gpu/drm/armada/armada_drv.c |  2 +-
 drivers/gpu/drm/armada/armada_fb.c  |  8 
 drivers/gpu/drm/armada/armada_fbdev.c   |  6 +++---
 drivers/gpu/drm/armada/armada_gem.c | 14 +++---
 drivers/gpu/drm/armada/armada_overlay.c |  4 ++--
 6 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/drivers/gpu/drm/armada/armada_crtc.c 
b/drivers/gpu/drm/armada/armada_crtc.c
index 4fe19fd..8c6366e 100644
--- a/drivers/gpu/drm/armada/armada_crtc.c
+++ b/drivers/gpu/drm/armada/armada_crtc.c
@@ -298,7 +298,7 @@ static void armada_drm_crtc_finish_fb(struct armada_crtc 
*dcrtc,
 
if (force) {
/* Display is disabled, so just drop the old fb */
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
return;
}
 
@@ -321,7 +321,7 @@ static void armada_drm_crtc_finish_fb(struct armada_crtc 
*dcrtc,
 * the best.  The worst that will happen is the buffer gets
 * reused before it has finished being displayed.
 */
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
 }
 
 static void armada_drm_vblank_off(struct armada_crtc *dcrtc)
@@ -587,7 +587,7 @@ static int armada_drm_crtc_mode_set(struct drm_crtc *crtc,
unsigned i;
bool interlaced;
 
-   drm_framebuffer_reference(crtc->primary->fb);
+   drm_framebuffer_get(crtc->primary->fb);
 
interlaced = !!(adj->flags & DRM_MODE_FLAG_INTERLACE);
 
@@ -728,7 +728,7 @@ static int armada_drm_crtc_mode_set_base(struct drm_crtc 
*crtc, int x, int y,
   MAX_SCHEDULE_TIMEOUT);
 
/* Take a reference to the new fb as we're using it */
-   drm_framebuffer_reference(crtc->primary->fb);
+   drm_framebuffer_get(crtc->primary->fb);
 
/* Update the base in the CRTC */
armada_drm_crtc_update_regs(dcrtc, regs);
@@ -752,7 +752,7 @@ void armada_drm_crtc_plane_disable(struct armada_crtc 
*dcrtc,
 * primary plane.
 */
if (plane->fb)
-   drm_framebuffer_unreference(plane->fb);
+   drm_framebuffer_put(plane->fb);
 
/* Power down the Y/U/V FIFOs */
sram_para1 = CFG_PDWN16x66 | CFG_PDWN32x66;
@@ -957,13 +957,13 @@ static int armada_drm_crtc_cursor_set(struct drm_crtc 
*crtc,
 
/* Must be a kernel-mapped object */
if (!obj->addr) {
-   drm_gem_object_unreference_unlocked(>obj);
+   drm_gem_object_put_unlocked(>obj);
return -EINVAL;
}
 
if (obj->obj.size < w * h * 4) {
DRM_ERROR("buffer is too small\n");
-   drm_gem_object_unreference_unlocked(>obj);
+   drm_gem_object_put_unlocked(>obj);
return -ENOMEM;
}
}
@@ -971,7 +971,7 @@ static int armada_drm_crtc_cursor_set(struct drm_crtc *crtc,
if (dcrtc->cursor_obj) {
dcrtc->cursor_obj->update = NULL;
dcrtc->cursor_obj->update_data = NULL;
-   drm_gem_object_unreference_unlocked(>cursor_obj->obj);
+   drm_gem_object_put_unlocked(>cursor_obj->obj);
}
dcrtc->cursor_obj = obj;
dcrtc->cursor_w = w;
@@ -1007,7 +1007,7 @@ static void armada_drm_crtc_destroy(struct drm_crtc *crtc)
struct armada_private *priv = crtc->dev->dev_private;
 
if (dcrtc->cursor_obj)
-   drm_gem_object_unreference_unlocked(>cursor_obj->obj);
+   drm_gem_object_put_unlocked(>cursor_obj->obj);
 
priv->dcrtc[dcrtc->num] = NULL;
drm_crtc_cleanup(>crtc);
@@ -1055,12 +1055,12 @@ static int armada_drm_crtc_page_flip(struct drm_crtc 
*crtc,
 * Ensure that we hold a reference on the new framebuffer.
 * This has to match the behaviour in mode_set.
 */
-   drm_framebuffer_reference(fb);
+   drm_framebuffer_get(fb);
 
ret = armada_drm_crtc_queue_frame_work(dcrtc, work);
if (ret) {
/* Undo our reference above */
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
kfree(work);
return ret;
}
diff --git a/drivers/gpu/drm/armada/armada_drv.c

[PATCH v2 03/29] drm/armada: switch to drm_*_get(), drm_*_put() helpers

2017-08-10 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/armada/armada_crtc.c| 22 +++---
 drivers/gpu/drm/armada/armada_drv.c |  2 +-
 drivers/gpu/drm/armada/armada_fb.c  |  8 
 drivers/gpu/drm/armada/armada_fbdev.c   |  6 +++---
 drivers/gpu/drm/armada/armada_gem.c | 14 +++---
 drivers/gpu/drm/armada/armada_overlay.c |  4 ++--
 6 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/drivers/gpu/drm/armada/armada_crtc.c 
b/drivers/gpu/drm/armada/armada_crtc.c
index 4fe19fd..8c6366e 100644
--- a/drivers/gpu/drm/armada/armada_crtc.c
+++ b/drivers/gpu/drm/armada/armada_crtc.c
@@ -298,7 +298,7 @@ static void armada_drm_crtc_finish_fb(struct armada_crtc 
*dcrtc,
 
if (force) {
/* Display is disabled, so just drop the old fb */
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
return;
}
 
@@ -321,7 +321,7 @@ static void armada_drm_crtc_finish_fb(struct armada_crtc 
*dcrtc,
 * the best.  The worst that will happen is the buffer gets
 * reused before it has finished being displayed.
 */
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
 }
 
 static void armada_drm_vblank_off(struct armada_crtc *dcrtc)
@@ -587,7 +587,7 @@ static int armada_drm_crtc_mode_set(struct drm_crtc *crtc,
unsigned i;
bool interlaced;
 
-   drm_framebuffer_reference(crtc->primary->fb);
+   drm_framebuffer_get(crtc->primary->fb);
 
interlaced = !!(adj->flags & DRM_MODE_FLAG_INTERLACE);
 
@@ -728,7 +728,7 @@ static int armada_drm_crtc_mode_set_base(struct drm_crtc 
*crtc, int x, int y,
   MAX_SCHEDULE_TIMEOUT);
 
/* Take a reference to the new fb as we're using it */
-   drm_framebuffer_reference(crtc->primary->fb);
+   drm_framebuffer_get(crtc->primary->fb);
 
/* Update the base in the CRTC */
armada_drm_crtc_update_regs(dcrtc, regs);
@@ -752,7 +752,7 @@ void armada_drm_crtc_plane_disable(struct armada_crtc 
*dcrtc,
 * primary plane.
 */
if (plane->fb)
-   drm_framebuffer_unreference(plane->fb);
+   drm_framebuffer_put(plane->fb);
 
/* Power down the Y/U/V FIFOs */
sram_para1 = CFG_PDWN16x66 | CFG_PDWN32x66;
@@ -957,13 +957,13 @@ static int armada_drm_crtc_cursor_set(struct drm_crtc 
*crtc,
 
/* Must be a kernel-mapped object */
if (!obj->addr) {
-   drm_gem_object_unreference_unlocked(>obj);
+   drm_gem_object_put_unlocked(>obj);
return -EINVAL;
}
 
if (obj->obj.size < w * h * 4) {
DRM_ERROR("buffer is too small\n");
-   drm_gem_object_unreference_unlocked(>obj);
+   drm_gem_object_put_unlocked(>obj);
return -ENOMEM;
}
}
@@ -971,7 +971,7 @@ static int armada_drm_crtc_cursor_set(struct drm_crtc *crtc,
if (dcrtc->cursor_obj) {
dcrtc->cursor_obj->update = NULL;
dcrtc->cursor_obj->update_data = NULL;
-   drm_gem_object_unreference_unlocked(>cursor_obj->obj);
+   drm_gem_object_put_unlocked(>cursor_obj->obj);
}
dcrtc->cursor_obj = obj;
dcrtc->cursor_w = w;
@@ -1007,7 +1007,7 @@ static void armada_drm_crtc_destroy(struct drm_crtc *crtc)
struct armada_private *priv = crtc->dev->dev_private;
 
if (dcrtc->cursor_obj)
-   drm_gem_object_unreference_unlocked(>cursor_obj->obj);
+   drm_gem_object_put_unlocked(>cursor_obj->obj);
 
priv->dcrtc[dcrtc->num] = NULL;
drm_crtc_cleanup(>crtc);
@@ -1055,12 +1055,12 @@ static int armada_drm_crtc_page_flip(struct drm_crtc 
*crtc,
 * Ensure that we hold a reference on the new framebuffer.
 * This has to match the behaviour in mode_set.
 */
-   drm_framebuffer_reference(fb);
+   drm_framebuffer_get(fb);
 
ret = armada_drm_crtc_queue_frame_work(dcrtc, work);
if (ret) {
/* Undo our reference above */
-   drm_framebuffer_unreference(fb);
+   drm_framebuffer_put(fb);
kfree(work);
return ret;
}
diff --git a/drivers/gpu/drm/armada/armada_drv.c 
b/drivers/gpu/drm/armada/a

[PATCH v2 04/29] drm/ast: switch to drm_*_get(), drm_*_put() helpers

2017-08-10 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/ast/ast_fb.c   |  2 +-
 drivers/gpu/drm/ast/ast_main.c | 10 +-
 drivers/gpu/drm/ast/ast_mode.c |  6 +++---
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/ast/ast_fb.c b/drivers/gpu/drm/ast/ast_fb.c
index 4ad4acd..8f5fedc 100644
--- a/drivers/gpu/drm/ast/ast_fb.c
+++ b/drivers/gpu/drm/ast/ast_fb.c
@@ -287,7 +287,7 @@ static void ast_fbdev_destroy(struct drm_device *dev,
drm_fb_helper_unregister_fbi(>helper);
 
if (afb->obj) {
-   drm_gem_object_unreference_unlocked(afb->obj);
+   drm_gem_object_put_unlocked(afb->obj);
afb->obj = NULL;
}
drm_fb_helper_fini(>helper);
diff --git a/drivers/gpu/drm/ast/ast_main.c b/drivers/gpu/drm/ast/ast_main.c
index 262c2c0..cb05e8e 100644
--- a/drivers/gpu/drm/ast/ast_main.c
+++ b/drivers/gpu/drm/ast/ast_main.c
@@ -387,7 +387,7 @@ static void ast_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct ast_framebuffer *ast_fb = to_ast_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(ast_fb->obj);
+   drm_gem_object_put_unlocked(ast_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(fb);
 }
@@ -429,13 +429,13 @@ ast_user_framebuffer_create(struct drm_device *dev,
 
ast_fb = kzalloc(sizeof(*ast_fb), GFP_KERNEL);
if (!ast_fb) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(-ENOMEM);
}
 
ret = ast_framebuffer_init(dev, ast_fb, mode_cmd, obj);
if (ret) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
kfree(ast_fb);
return ERR_PTR(ret);
}
@@ -627,7 +627,7 @@ int ast_dumb_create(struct drm_file *file,
return ret;
 
ret = drm_gem_handle_create(file, gobj, );
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
if (ret)
return ret;
 
@@ -675,7 +675,7 @@ ast_dumb_mmap_offset(struct drm_file *file,
bo = gem_to_ast_bo(obj);
*offset = ast_bo_mmap_offset(bo);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return 0;
 
diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
index aaef0a6..dd74c32 100644
--- a/drivers/gpu/drm/ast/ast_mode.c
+++ b/drivers/gpu/drm/ast/ast_mode.c
@@ -948,7 +948,7 @@ static void ast_cursor_fini(struct drm_device *dev)
 {
struct ast_private *ast = dev->dev_private;
ttm_bo_kunmap(>cache_kmap);
-   drm_gem_object_unreference_unlocked(ast->cursor_cache);
+   drm_gem_object_put_unlocked(ast->cursor_cache);
 }
 
 int ast_mode_init(struct drm_device *dev)
@@ -1213,10 +1213,10 @@ static int ast_cursor_set(struct drm_crtc *crtc,
 
ast_show_cursor(crtc);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return 0;
 fail:
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ret;
 }
 
-- 
2.7.4



[PATCH v2 04/29] drm/ast: switch to drm_*_get(), drm_*_put() helpers

2017-08-10 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/ast/ast_fb.c   |  2 +-
 drivers/gpu/drm/ast/ast_main.c | 10 +-
 drivers/gpu/drm/ast/ast_mode.c |  6 +++---
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/ast/ast_fb.c b/drivers/gpu/drm/ast/ast_fb.c
index 4ad4acd..8f5fedc 100644
--- a/drivers/gpu/drm/ast/ast_fb.c
+++ b/drivers/gpu/drm/ast/ast_fb.c
@@ -287,7 +287,7 @@ static void ast_fbdev_destroy(struct drm_device *dev,
drm_fb_helper_unregister_fbi(>helper);
 
if (afb->obj) {
-   drm_gem_object_unreference_unlocked(afb->obj);
+   drm_gem_object_put_unlocked(afb->obj);
afb->obj = NULL;
}
drm_fb_helper_fini(>helper);
diff --git a/drivers/gpu/drm/ast/ast_main.c b/drivers/gpu/drm/ast/ast_main.c
index 262c2c0..cb05e8e 100644
--- a/drivers/gpu/drm/ast/ast_main.c
+++ b/drivers/gpu/drm/ast/ast_main.c
@@ -387,7 +387,7 @@ static void ast_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct ast_framebuffer *ast_fb = to_ast_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(ast_fb->obj);
+   drm_gem_object_put_unlocked(ast_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(fb);
 }
@@ -429,13 +429,13 @@ ast_user_framebuffer_create(struct drm_device *dev,
 
ast_fb = kzalloc(sizeof(*ast_fb), GFP_KERNEL);
if (!ast_fb) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(-ENOMEM);
}
 
ret = ast_framebuffer_init(dev, ast_fb, mode_cmd, obj);
if (ret) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
kfree(ast_fb);
return ERR_PTR(ret);
}
@@ -627,7 +627,7 @@ int ast_dumb_create(struct drm_file *file,
return ret;
 
ret = drm_gem_handle_create(file, gobj, );
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
if (ret)
return ret;
 
@@ -675,7 +675,7 @@ ast_dumb_mmap_offset(struct drm_file *file,
bo = gem_to_ast_bo(obj);
*offset = ast_bo_mmap_offset(bo);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return 0;
 
diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
index aaef0a6..dd74c32 100644
--- a/drivers/gpu/drm/ast/ast_mode.c
+++ b/drivers/gpu/drm/ast/ast_mode.c
@@ -948,7 +948,7 @@ static void ast_cursor_fini(struct drm_device *dev)
 {
struct ast_private *ast = dev->dev_private;
ttm_bo_kunmap(>cache_kmap);
-   drm_gem_object_unreference_unlocked(ast->cursor_cache);
+   drm_gem_object_put_unlocked(ast->cursor_cache);
 }
 
 int ast_mode_init(struct drm_device *dev)
@@ -1213,10 +1213,10 @@ static int ast_cursor_set(struct drm_crtc *crtc,
 
ast_show_cursor(crtc);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return 0;
 fail:
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ret;
 }
 
-- 
2.7.4



[PATCH v2 06/29] drm/bochs: switch to drm_*_get(), drm_*_put() helpers

2017-08-10 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/bochs/bochs_fbdev.c |  2 +-
 drivers/gpu/drm/bochs/bochs_mm.c| 10 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/bochs/bochs_fbdev.c 
b/drivers/gpu/drm/bochs/bochs_fbdev.c
index c38deff..502f9d9 100644
--- a/drivers/gpu/drm/bochs/bochs_fbdev.c
+++ b/drivers/gpu/drm/bochs/bochs_fbdev.c
@@ -145,7 +145,7 @@ static int bochs_fbdev_destroy(struct bochs_device *bochs)
drm_fb_helper_unregister_fbi(>fb.helper);
 
if (gfb->obj) {
-   drm_gem_object_unreference_unlocked(gfb->obj);
+   drm_gem_object_put_unlocked(gfb->obj);
gfb->obj = NULL;
}
 
diff --git a/drivers/gpu/drm/bochs/bochs_mm.c b/drivers/gpu/drm/bochs/bochs_mm.c
index c4cadb6..881b784 100644
--- a/drivers/gpu/drm/bochs/bochs_mm.c
+++ b/drivers/gpu/drm/bochs/bochs_mm.c
@@ -417,7 +417,7 @@ int bochs_dumb_create(struct drm_file *file, struct 
drm_device *dev,
return ret;
 
ret = drm_gem_handle_create(file, gobj, );
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
if (ret)
return ret;
 
@@ -457,7 +457,7 @@ int bochs_dumb_mmap_offset(struct drm_file *file, struct 
drm_device *dev,
bo = gem_to_bochs_bo(obj);
*offset = bochs_bo_mmap_offset(bo);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return 0;
 }
 
@@ -467,7 +467,7 @@ static void bochs_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct bochs_framebuffer *bochs_fb = to_bochs_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(bochs_fb->obj);
+   drm_gem_object_put_unlocked(bochs_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(fb);
 }
@@ -518,13 +518,13 @@ bochs_user_framebuffer_create(struct drm_device *dev,
 
bochs_fb = kzalloc(sizeof(*bochs_fb), GFP_KERNEL);
if (!bochs_fb) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(-ENOMEM);
}
 
ret = bochs_framebuffer_init(dev, bochs_fb, mode_cmd, obj);
if (ret) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
kfree(bochs_fb);
return ERR_PTR(ret);
}
-- 
2.7.4



[PATCH v2 06/29] drm/bochs: switch to drm_*_get(), drm_*_put() helpers

2017-08-10 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/bochs/bochs_fbdev.c |  2 +-
 drivers/gpu/drm/bochs/bochs_mm.c| 10 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/bochs/bochs_fbdev.c 
b/drivers/gpu/drm/bochs/bochs_fbdev.c
index c38deff..502f9d9 100644
--- a/drivers/gpu/drm/bochs/bochs_fbdev.c
+++ b/drivers/gpu/drm/bochs/bochs_fbdev.c
@@ -145,7 +145,7 @@ static int bochs_fbdev_destroy(struct bochs_device *bochs)
drm_fb_helper_unregister_fbi(>fb.helper);
 
if (gfb->obj) {
-   drm_gem_object_unreference_unlocked(gfb->obj);
+   drm_gem_object_put_unlocked(gfb->obj);
gfb->obj = NULL;
}
 
diff --git a/drivers/gpu/drm/bochs/bochs_mm.c b/drivers/gpu/drm/bochs/bochs_mm.c
index c4cadb6..881b784 100644
--- a/drivers/gpu/drm/bochs/bochs_mm.c
+++ b/drivers/gpu/drm/bochs/bochs_mm.c
@@ -417,7 +417,7 @@ int bochs_dumb_create(struct drm_file *file, struct 
drm_device *dev,
return ret;
 
ret = drm_gem_handle_create(file, gobj, );
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
if (ret)
return ret;
 
@@ -457,7 +457,7 @@ int bochs_dumb_mmap_offset(struct drm_file *file, struct 
drm_device *dev,
bo = gem_to_bochs_bo(obj);
*offset = bochs_bo_mmap_offset(bo);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return 0;
 }
 
@@ -467,7 +467,7 @@ static void bochs_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct bochs_framebuffer *bochs_fb = to_bochs_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(bochs_fb->obj);
+   drm_gem_object_put_unlocked(bochs_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(fb);
 }
@@ -518,13 +518,13 @@ bochs_user_framebuffer_create(struct drm_device *dev,
 
bochs_fb = kzalloc(sizeof(*bochs_fb), GFP_KERNEL);
if (!bochs_fb) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(-ENOMEM);
}
 
ret = bochs_framebuffer_init(dev, bochs_fb, mode_cmd, obj);
if (ret) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
kfree(bochs_fb);
return ERR_PTR(ret);
}
-- 
2.7.4



[PATCH v2 07/29] drm/cirrus: switch to drm_*_get(), drm_*_put() helpers

2017-08-10 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
---
 drivers/gpu/drm/cirrus/cirrus_fbdev.c |  2 +-
 drivers/gpu/drm/cirrus/cirrus_main.c  | 10 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/cirrus/cirrus_fbdev.c 
b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
index 7fa58ee..c0b9a29 100644
--- a/drivers/gpu/drm/cirrus/cirrus_fbdev.c
+++ b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
@@ -252,7 +252,7 @@ static int cirrus_fbdev_destroy(struct drm_device *dev,
drm_fb_helper_unregister_fbi(>helper);
 
if (gfb->obj) {
-   drm_gem_object_unreference_unlocked(gfb->obj);
+   drm_gem_object_put_unlocked(gfb->obj);
gfb->obj = NULL;
}
 
diff --git a/drivers/gpu/drm/cirrus/cirrus_main.c 
b/drivers/gpu/drm/cirrus/cirrus_main.c
index e7fc95f..b5f5285 100644
--- a/drivers/gpu/drm/cirrus/cirrus_main.c
+++ b/drivers/gpu/drm/cirrus/cirrus_main.c
@@ -18,7 +18,7 @@ static void cirrus_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct cirrus_framebuffer *cirrus_fb = to_cirrus_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(cirrus_fb->obj);
+   drm_gem_object_put_unlocked(cirrus_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(fb);
 }
@@ -67,13 +67,13 @@ cirrus_user_framebuffer_create(struct drm_device *dev,
 
cirrus_fb = kzalloc(sizeof(*cirrus_fb), GFP_KERNEL);
if (!cirrus_fb) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(-ENOMEM);
}
 
ret = cirrus_framebuffer_init(dev, cirrus_fb, mode_cmd, obj);
if (ret) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
kfree(cirrus_fb);
return ERR_PTR(ret);
}
@@ -261,7 +261,7 @@ int cirrus_dumb_create(struct drm_file *file,
return ret;
 
ret = drm_gem_handle_create(file, gobj, );
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
if (ret)
return ret;
 
@@ -310,7 +310,7 @@ cirrus_dumb_mmap_offset(struct drm_file *file,
bo = gem_to_cirrus_bo(obj);
*offset = cirrus_bo_mmap_offset(bo);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return 0;
 }
-- 
2.7.4



[PATCH v2 07/29] drm/cirrus: switch to drm_*_get(), drm_*_put() helpers

2017-08-10 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
---
 drivers/gpu/drm/cirrus/cirrus_fbdev.c |  2 +-
 drivers/gpu/drm/cirrus/cirrus_main.c  | 10 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/cirrus/cirrus_fbdev.c 
b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
index 7fa58ee..c0b9a29 100644
--- a/drivers/gpu/drm/cirrus/cirrus_fbdev.c
+++ b/drivers/gpu/drm/cirrus/cirrus_fbdev.c
@@ -252,7 +252,7 @@ static int cirrus_fbdev_destroy(struct drm_device *dev,
drm_fb_helper_unregister_fbi(>helper);
 
if (gfb->obj) {
-   drm_gem_object_unreference_unlocked(gfb->obj);
+   drm_gem_object_put_unlocked(gfb->obj);
gfb->obj = NULL;
}
 
diff --git a/drivers/gpu/drm/cirrus/cirrus_main.c 
b/drivers/gpu/drm/cirrus/cirrus_main.c
index e7fc95f..b5f5285 100644
--- a/drivers/gpu/drm/cirrus/cirrus_main.c
+++ b/drivers/gpu/drm/cirrus/cirrus_main.c
@@ -18,7 +18,7 @@ static void cirrus_user_framebuffer_destroy(struct 
drm_framebuffer *fb)
 {
struct cirrus_framebuffer *cirrus_fb = to_cirrus_framebuffer(fb);
 
-   drm_gem_object_unreference_unlocked(cirrus_fb->obj);
+   drm_gem_object_put_unlocked(cirrus_fb->obj);
drm_framebuffer_cleanup(fb);
kfree(fb);
 }
@@ -67,13 +67,13 @@ cirrus_user_framebuffer_create(struct drm_device *dev,
 
cirrus_fb = kzalloc(sizeof(*cirrus_fb), GFP_KERNEL);
if (!cirrus_fb) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
return ERR_PTR(-ENOMEM);
}
 
ret = cirrus_framebuffer_init(dev, cirrus_fb, mode_cmd, obj);
if (ret) {
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
kfree(cirrus_fb);
return ERR_PTR(ret);
}
@@ -261,7 +261,7 @@ int cirrus_dumb_create(struct drm_file *file,
return ret;
 
ret = drm_gem_handle_create(file, gobj, );
-   drm_gem_object_unreference_unlocked(gobj);
+   drm_gem_object_put_unlocked(gobj);
if (ret)
return ret;
 
@@ -310,7 +310,7 @@ cirrus_dumb_mmap_offset(struct drm_file *file,
bo = gem_to_cirrus_bo(obj);
*offset = cirrus_bo_mmap_offset(bo);
 
-   drm_gem_object_unreference_unlocked(obj);
+   drm_gem_object_put_unlocked(obj);
 
return 0;
 }
-- 
2.7.4



[PATCH v2 05/29] drm/atmel-hlcdc: switch to drm_*_get(), drm_*_put() helpers

2017-08-10 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk <cakt...@gmail.com>
Acked-by: Boris Brezillon <boris.brezil...@free-electrons.com>
---
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c 
b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
index 1124200..fc3f910 100644
--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
@@ -809,7 +809,7 @@ static void atmel_hlcdc_plane_destroy(struct drm_plane *p)
struct atmel_hlcdc_plane *plane = drm_plane_to_atmel_hlcdc_plane(p);
 
if (plane->base.fb)
-   drm_framebuffer_unreference(plane->base.fb);
+   drm_framebuffer_put(plane->base.fb);
 
drm_plane_cleanup(p);
 }
@@ -958,7 +958,7 @@ static void atmel_hlcdc_plane_reset(struct drm_plane *p)
state = drm_plane_state_to_atmel_hlcdc_plane_state(p->state);
 
if (state->base.fb)
-   drm_framebuffer_unreference(state->base.fb);
+   drm_framebuffer_put(state->base.fb);
 
kfree(state);
p->state = NULL;
@@ -996,7 +996,7 @@ atmel_hlcdc_plane_atomic_duplicate_state(struct drm_plane 
*p)
}
 
if (copy->base.fb)
-   drm_framebuffer_reference(copy->base.fb);
+   drm_framebuffer_get(copy->base.fb);
 
return >base;
 }
@@ -1015,7 +1015,7 @@ static void atmel_hlcdc_plane_atomic_destroy_state(struct 
drm_plane *p,
}
 
if (s->fb)
-   drm_framebuffer_unreference(s->fb);
+   drm_framebuffer_put(s->fb);
 
kfree(state);
 }
-- 
2.7.4



[PATCH v2 05/29] drm/atmel-hlcdc: switch to drm_*_get(), drm_*_put() helpers

2017-08-10 Thread Cihangir Akturk
Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
and drm_*_unreference() helpers.

drm_*_reference() and drm_*_unreference() functions are just
compatibility alias for drm_*_get() and drm_*_put() and should not be
used by new code. So convert all users of compatibility functions to
use the new APIs.

Generated by: scripts/coccinelle/api/drm-get-put.cocci

Signed-off-by: Cihangir Akturk 
Acked-by: Boris Brezillon 
---
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c 
b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
index 1124200..fc3f910 100644
--- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
+++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
@@ -809,7 +809,7 @@ static void atmel_hlcdc_plane_destroy(struct drm_plane *p)
struct atmel_hlcdc_plane *plane = drm_plane_to_atmel_hlcdc_plane(p);
 
if (plane->base.fb)
-   drm_framebuffer_unreference(plane->base.fb);
+   drm_framebuffer_put(plane->base.fb);
 
drm_plane_cleanup(p);
 }
@@ -958,7 +958,7 @@ static void atmel_hlcdc_plane_reset(struct drm_plane *p)
state = drm_plane_state_to_atmel_hlcdc_plane_state(p->state);
 
if (state->base.fb)
-   drm_framebuffer_unreference(state->base.fb);
+   drm_framebuffer_put(state->base.fb);
 
kfree(state);
p->state = NULL;
@@ -996,7 +996,7 @@ atmel_hlcdc_plane_atomic_duplicate_state(struct drm_plane 
*p)
}
 
if (copy->base.fb)
-   drm_framebuffer_reference(copy->base.fb);
+   drm_framebuffer_get(copy->base.fb);
 
return >base;
 }
@@ -1015,7 +1015,7 @@ static void atmel_hlcdc_plane_atomic_destroy_state(struct 
drm_plane *p,
}
 
if (s->fb)
-   drm_framebuffer_unreference(s->fb);
+   drm_framebuffer_put(s->fb);
 
kfree(state);
 }
-- 
2.7.4



  1   2   3   >