Compare commits

...
Author SHA1 Message Date
geohot a8140a5c7f start support for adreno 830 2025-09-16 14:05:31 +08:00
2 changed files with 5 additions and 3 deletions
+3 -2
View File
@@ -177,13 +177,14 @@ def ioctl(fd, request, argp):
for i in range(s.numcmds): for i in range(s.numcmds):
cmd = get_struct(s.cmdlist+ctypes.sizeof(msm_kgsl.struct_kgsl_command_object)*i, msm_kgsl.struct_kgsl_command_object) cmd = get_struct(s.cmdlist+ctypes.sizeof(msm_kgsl.struct_kgsl_command_object)*i, msm_kgsl.struct_kgsl_command_object)
if IOCTL > 0: print(f"cmd {i}:", format_struct(cmd)) if IOCTL > 0: print(f"cmd {i}:", format_struct(cmd))
parse_cmd_buf(get_mem(cmd.gpuaddr, cmd.size)) #parse_cmd_buf(get_mem(cmd.gpuaddr, cmd.size))
for i in range(s.numobjs): for i in range(s.numobjs):
obj = get_struct(s.objlist+s.objsize*i, msm_kgsl.struct_kgsl_command_object) obj = get_struct(s.objlist+s.objsize*i, msm_kgsl.struct_kgsl_command_object)
if IOCTL > 0: if IOCTL > 0:
print(f"obj {i}:", format_struct(obj)) print(f"obj {i}:", format_struct(obj))
print(format_struct(msm_kgsl.struct_kgsl_cmdbatch_profiling_buffer.from_buffer_copy(get_mem(obj.gpuaddr, obj.size)))) #print(format_struct(msm_kgsl.struct_kgsl_cmdbatch_profiling_buffer.from_buffer_copy(get_mem(obj.gpuaddr, obj.size))))
#hexdump(get_mem(obj.gpuaddr, obj.size)) #hexdump(get_mem(obj.gpuaddr, obj.size))
pass
else: else:
#print(f"ioctl({fd=}, (dir:{idir}, size:0x{size:3X}, type:{itype:d}, nr:0x{nr:2X}), {argp=:X}) = {ret=}") #print(f"ioctl({fd=}, (dir:{idir}, size:0x{size:3X}, type:{itype:d}, nr:0x{nr:2X}), {argp=:X}) = {ret=}")
pass pass
+2 -1
View File
@@ -2,9 +2,10 @@ from __future__ import annotations
from typing import cast from typing import cast
import ctypes, functools, hashlib import ctypes, functools, hashlib
from tinygrad.runtime.autogen import opencl as cl from tinygrad.runtime.autogen import opencl as cl
from tinygrad.helpers import init_c_var, to_char_p_p, from_mv, OSX, DEBUG, mv_address, suppress_finalizing from tinygrad.helpers import init_c_var, to_char_p_p, from_mv, OSX, DEBUG, mv_address, suppress_finalizing, getenv
from tinygrad.renderer.cstyle import OpenCLRenderer, IntelRenderer from tinygrad.renderer.cstyle import OpenCLRenderer, IntelRenderer
from tinygrad.device import BufferSpec, LRUAllocator, Compiled, Compiler, CompileError from tinygrad.device import BufferSpec, LRUAllocator, Compiled, Compiler, CompileError
if getenv("IOCTL"): import extra.qcom_gpu_driver.opencl_ioctl # noqa: F401 # pylint: disable=unused-import
# see test/external/external_osx_profiling.py to determine this ratio. it's in like GPU clocks or something # see test/external/external_osx_profiling.py to determine this ratio. it's in like GPU clocks or something
OSX_TIMING_RATIO = (125/3) if OSX else 1.0 OSX_TIMING_RATIO = (125/3) if OSX else 1.0