1*7e6ad469SVishal Kulkarni /*
2*7e6ad469SVishal Kulkarni  * This file and its contents are supplied under the terms of the
3*7e6ad469SVishal Kulkarni  * Common Development and Distribution License ("CDDL"), version 1.0.
4*7e6ad469SVishal Kulkarni  * You may only use this file in accordance with the terms of version
5*7e6ad469SVishal Kulkarni  * 1.0 of the CDDL.
6*7e6ad469SVishal Kulkarni  *
7*7e6ad469SVishal Kulkarni  * A full copy of the text of the CDDL should have accompanied this
8*7e6ad469SVishal Kulkarni  * source.  A copy of the CDDL is also available via the Internet at
9*7e6ad469SVishal Kulkarni  * http://www.illumos.org/license/CDDL.
10*7e6ad469SVishal Kulkarni  */
11*7e6ad469SVishal Kulkarni 
12*7e6ad469SVishal Kulkarni /*
13*7e6ad469SVishal Kulkarni  * Copyright (c) 2019 by Chelsio Communications, Inc.
14*7e6ad469SVishal Kulkarni  */
15*7e6ad469SVishal Kulkarni 
16*7e6ad469SVishal Kulkarni #include "cudbg_view_compat.h"
17*7e6ad469SVishal Kulkarni #include "cudbg.h"
18*7e6ad469SVishal Kulkarni 
19*7e6ad469SVishal Kulkarni int
view_ulptx_la_rev0(void * data,struct cudbg_buffer * cudbg_poutbuf)20*7e6ad469SVishal Kulkarni view_ulptx_la_rev0(void *data, struct cudbg_buffer *cudbg_poutbuf)
21*7e6ad469SVishal Kulkarni {
22*7e6ad469SVishal Kulkarni 	struct cudbg_ulptx_la_rev0 *ulptx_la_buff;
23*7e6ad469SVishal Kulkarni 	int i, j, rc = 0;
24*7e6ad469SVishal Kulkarni 
25*7e6ad469SVishal Kulkarni 	ulptx_la_buff = (struct cudbg_ulptx_la_rev0 *)data;
26*7e6ad469SVishal Kulkarni 
27*7e6ad469SVishal Kulkarni 	for (i = 0; i < CUDBG_NUM_ULPTX; i++) {
28*7e6ad469SVishal Kulkarni 		printf("==============================\n");
29*7e6ad469SVishal Kulkarni 		printf("DUMPING ULP_TX_LA_%d\n", i);
30*7e6ad469SVishal Kulkarni 		printf("==============================\n");
31*7e6ad469SVishal Kulkarni 
32*7e6ad469SVishal Kulkarni 		printf("[0x%x] %-24s %#x\n",
33*7e6ad469SVishal Kulkarni 			     (A_ULP_TX_LA_RDPTR_0 + 0x10 * i),
34*7e6ad469SVishal Kulkarni 			     cudbg_ulptx_rdptr[i], ulptx_la_buff->rdptr[i]);
35*7e6ad469SVishal Kulkarni 		printf("[0x%x] %-24s %#x\n",
36*7e6ad469SVishal Kulkarni 			     (A_ULP_TX_LA_WRPTR_0 + 0x10 * i),
37*7e6ad469SVishal Kulkarni 			     cudbg_ulptx_wrptr[i], ulptx_la_buff->wrptr[i]);
38*7e6ad469SVishal Kulkarni 		printf("[0x%x] %-24s %#-13x\n",
39*7e6ad469SVishal Kulkarni 			     (A_ULP_TX_LA_RDDATA_0 + 0x10 * i),
40*7e6ad469SVishal Kulkarni 			     cudbg_ulptx_rddata[i], ulptx_la_buff->rddata[i]);
41*7e6ad469SVishal Kulkarni 
42*7e6ad469SVishal Kulkarni 		for (j = 0; j < CUDBG_NUM_ULPTX_READ; j++) {
43*7e6ad469SVishal Kulkarni 			printf("[%#x]   %#-16x [%u]\n",
44*7e6ad469SVishal Kulkarni 				     j, ulptx_la_buff->rd_data[i][j],
45*7e6ad469SVishal Kulkarni 				     ulptx_la_buff->rd_data[i][j]);
46*7e6ad469SVishal Kulkarni 		}
47*7e6ad469SVishal Kulkarni 	}
48*7e6ad469SVishal Kulkarni 
49*7e6ad469SVishal Kulkarni 	return rc;
50*7e6ad469SVishal Kulkarni }
51