This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Maximum number of events supported by the Notify module.

  .

Hi,

from the IPC notify header file there a constant which defines Maximum number of events supported by the Notify module

#define Notify_MAXEVENTS   (UInt16)32

I could not use event ID = 33 for example, I had a wired behavior.

My DSP is C6678, bios_6_32_05_54, ipc_1_24_00_16

My question is why there is such constraint? I have 8cores in the DSP and I need at least 64 events to map all the cores together.

Thx

--Chek

  • Chekib,

    I don’t know the history of why the maximum number of events is limited to 32.  But I can verify that 32 is indeed the maximum. My guess is that this number was chosen for efficiently representing events via 32-bit bitmasks.

    Scott

  • Thanks,

    Is there any way to increase this number?

    if I couple it with the interrupt_line, can I have more?

    --Chek

  • Chekib,

    After reviewing the code, it looks to me like there is no hard reasons why 32 must be the max.

    In fact, the only place I see a check for the MAXEVENT is in the Notify.xs file:

          /* Check for valid numEvents */
        if (Notify.numEvents > Notify.MAXEVENTS) {
            Notify.$logFatal("Notify.numEvents may not be set to a value greater" +
                              " than " + Notify.MAXEVENTS, Notify);
        }

    I bet if you remove this check and set Notify.numEvents to a really big number...it should work for you. [Something you could try out by modifying Notify.xs and then just rebuild your project...just make sure to make a backup copy of the original Notify.xs so you don't lose that.]

    Having said all that, Why do you need 64 EVENTS?  Are you telling me that for each core talking to another core that, the Notify EVENT ID has to be unique?  My question is why isn't 8 EVENTS sufficient...such that each event would be associated with a core?  I'd like to understand more...why 64 EVENTS is necessary.

    Judah

  • >>>Are you telling me that for each core talking to another core that, the Notify EVENT ID has to be unique?

    that was my understanding .

    do you mean that one Core could use the same Event ID for all other 7 cores in the Chip to send a notification. all these 7 core have to register to the same event ID?

    if it is the case, I believe 8 would be enough.