Skip to content

Commit c857b06

Browse files
committed
media: vidtv: pre-initialize mux arrays
Instead of first zeroing all fields at the mux structs and then filling, do some initialization for the const data when they're created. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
1 parent 330d135 commit c857b06

1 file changed

Lines changed: 26 additions & 20 deletions

File tree

drivers/media/test-drivers/vidtv/vidtv_mux.c

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,32 @@ static void vidtv_mux_update_clk(struct vidtv_mux *m)
129129

130130
static u32 vidtv_mux_push_si(struct vidtv_mux *m)
131131
{
132-
struct vidtv_psi_pat_write_args pat_args = {};
133-
struct vidtv_psi_pmt_write_args pmt_args = {};
134-
struct vidtv_psi_sdt_write_args sdt_args = {};
135-
struct vidtv_psi_nit_write_args nit_args = {};
136-
struct vidtv_psi_eit_write_args eit_args = {};
132+
struct vidtv_psi_pat_write_args pat_args = {
133+
.buf = m->mux_buf,
134+
.buf_sz = m->mux_buf_sz,
135+
.pat = m->si.pat,
136+
};
137+
struct vidtv_psi_pmt_write_args pmt_args = {
138+
.buf = m->mux_buf,
139+
.buf_sz = m->mux_buf_sz,
140+
.pcr_pid = m->pcr_pid,
141+
};
142+
struct vidtv_psi_sdt_write_args sdt_args = {
143+
.buf = m->mux_buf,
144+
.buf_sz = m->mux_buf_sz,
145+
.sdt = m->si.sdt,
146+
};
147+
struct vidtv_psi_nit_write_args nit_args = {
148+
.buf = m->mux_buf,
149+
.buf_sz = m->mux_buf_sz,
150+
.nit = m->si.nit,
151+
152+
};
153+
struct vidtv_psi_eit_write_args eit_args = {
154+
.buf = m->mux_buf,
155+
.buf_sz = m->mux_buf_sz,
156+
.eit = m->si.eit,
157+
};
137158
u32 initial_offset = m->mux_buf_offset;
138159
struct vidtv_mux_pid_ctx *pat_ctx;
139160
struct vidtv_mux_pid_ctx *pmt_ctx;
@@ -149,10 +170,7 @@ static u32 vidtv_mux_push_si(struct vidtv_mux *m)
149170
nit_ctx = vidtv_mux_get_pid_ctx(m, VIDTV_NIT_PID);
150171
eit_ctx = vidtv_mux_get_pid_ctx(m, VIDTV_EIT_PID);
151172

152-
pat_args.buf = m->mux_buf;
153173
pat_args.offset = m->mux_buf_offset;
154-
pat_args.pat = m->si.pat;
155-
pat_args.buf_sz = m->mux_buf_sz;
156174
pat_args.continuity_counter = &pat_ctx->cc;
157175

158176
m->mux_buf_offset += vidtv_psi_pat_write_into(pat_args);
@@ -169,38 +187,26 @@ static u32 vidtv_mux_push_si(struct vidtv_mux *m)
169187

170188
pmt_ctx = vidtv_mux_get_pid_ctx(m, pmt_pid);
171189

172-
pmt_args.buf = m->mux_buf;
173190
pmt_args.offset = m->mux_buf_offset;
174191
pmt_args.pmt = m->si.pmt_secs[i];
175192
pmt_args.pid = pmt_pid;
176-
pmt_args.buf_sz = m->mux_buf_sz;
177193
pmt_args.continuity_counter = &pmt_ctx->cc;
178-
pmt_args.pcr_pid = m->pcr_pid;
179194

180195
/* write each section into buffer */
181196
m->mux_buf_offset += vidtv_psi_pmt_write_into(pmt_args);
182197
}
183198

184-
sdt_args.buf = m->mux_buf;
185199
sdt_args.offset = m->mux_buf_offset;
186-
sdt_args.sdt = m->si.sdt;
187-
sdt_args.buf_sz = m->mux_buf_sz;
188200
sdt_args.continuity_counter = &sdt_ctx->cc;
189201

190202
m->mux_buf_offset += vidtv_psi_sdt_write_into(sdt_args);
191203

192-
nit_args.buf = m->mux_buf;
193204
nit_args.offset = m->mux_buf_offset;
194-
nit_args.nit = m->si.nit;
195-
nit_args.buf_sz = m->mux_buf_sz;
196205
nit_args.continuity_counter = &nit_ctx->cc;
197206

198207
m->mux_buf_offset += vidtv_psi_nit_write_into(nit_args);
199208

200-
eit_args.buf = m->mux_buf;
201209
eit_args.offset = m->mux_buf_offset;
202-
eit_args.eit = m->si.eit;
203-
eit_args.buf_sz = m->mux_buf_sz;
204210
eit_args.continuity_counter = &eit_ctx->cc;
205211

206212
m->mux_buf_offset += vidtv_psi_eit_write_into(eit_args);

0 commit comments

Comments
 (0)