msm: kgsl: Refcount mmu clock calls and allow multiple disable events

Allow each mmu clock enable call to enable the clock and let the
clock driver refcounting mechanism deal with switching the clock
off at the right time. This also means that each enable call should
have a disable call or a disable event registered, so allow for
multiple disable events to be registered. This simplifies the mmu
clock handling mechanism which is better for multiple ringbuffer
implementation. With multiple ringbuffers each global timestamp is
tied to a specific ringbuffer and with a single clock disable event
it is hard to figure out when the clock should be turned off.

CRs-fixed: 597193 592485
Change-Id: I924c545140bd19d95890a5fdfd0382c511abe973
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
msm: kgsl: Remove unnecessary profile close check

Remove an unnecessary profile close check in
adreno_profile_process_results(). The profile close
check was causing NULL pointer dereferencing in
other adreno profile functions. There should be
no danger of memory leak though since we clear the
buffer in adreno_profile_close() anyway.

CRs-fixed: 590766
Change-Id: I372ade0dc0ec0ed23dd743c6294d8bf0524f812f
Signed-off-by: Harsh Vardhan Dwivedi <hdwivedi@codeaurora.org>